Toriyung

导航

2023年6月4日 #

QT的特殊命名空间方式和C++对比

摘要: 命名空间是为了防止类名、函数名重复等造成的错误。 Qt有以下的写法 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE 在开始和结束关键字中间进行命名空间的创建及其内部类的声明 而C++则是直接进行创建 namespa 阅读全文

posted @ 2023-06-04 21:40 Toriyung 阅读(88) 评论(0) 推荐(0) 编辑

类的三种级别

摘要: public: 内部和外部对象都可以调用 protect: 内部和继承的子类内部可调用 private: 仅内部可用 阅读全文

posted @ 2023-06-04 21:35 Toriyung 阅读(10) 评论(0) 推荐(0) 编辑

QT的类的一些知识点

摘要: 给一个例子 class SerialReaderThread : public QThread { Q_OBJECT public: explicit SerialReaderThread(QSerialPort* serialPort, QObject* parent = nullptr) : Q 阅读全文

posted @ 2023-06-04 21:29 Toriyung 阅读(5) 评论(0) 推荐(0) 编辑

类内构造函数前缀explicit

摘要: 只有一个参数的构造函数前面加上explicit,这样一来在创建对象时不会被转换类型,因调用构造函数时有explicit限制,如 class MyClass { public: explicit MyClass(int value) : data(value) { } int getData() co 阅读全文

posted @ 2023-06-04 21:25 Toriyung 阅读(51) 评论(0) 推荐(0) 编辑

类型转换static_cast<type>(value)

摘要: 来自CHATGPT的回答 static_cast<float>(value) 和 (float)value 实际上是完成相同的类型转换,即将 value 的类型转换为 float 类型。两者的区别在于语法和一些特定的使用情境。 语法:static_cast<float>(value) 是使用 C++ 阅读全文

posted @ 2023-06-04 21:24 Toriyung 阅读(14) 评论(0) 推荐(0) 编辑

面向对象编程三大特性

摘要: 封装: 通俗来说就是类(class),将数据变量和函数方法封装到一起成为类,实其可以被创建对象 继承: 子类可以继承父类的变量和方法并以此基础进行拓展 多态: 通过虚函数、基类指针或引用调用适当的子类的函数版本,实现统一函数名多个功能 阅读全文

posted @ 2023-06-04 21:11 Toriyung 阅读(7) 评论(0) 推荐(0) 编辑

C++ 多态 虚函数virtual

摘要: 先解释虚函数,对于基类,子类继承基类后可能会调用其某个函数FA,而不同的子类继承了同一个基类后需要基类内某个同样的函数FA但又不是同个作用,此时则会在对应的子类内对应重载派生出FA_B函数和FA_C函数,而这时要求FA为虚函数(virtual) 那为什么不各自写成一个函数B和C呢?这就是多态的意义 阅读全文

posted @ 2023-06-04 21:07 Toriyung 阅读(16) 评论(0) 推荐(0) 编辑