QTextStream文本流

Comment
用法 12345678910QTextStream() QTextStream(QIODevice *device) QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite) QTextStream(QString *st...

Read More

QString的使用

Comment
字符串拼接 QString对于很多运算符做了重载,可以直接用+号,或者.append方法,有时候想要用占位符替代的话,需要以下这种形式: QString str1 = QString("%1---------------%2").arg("hello").arg(" world!"); 这样输出s...

Read More

qt-事件过滤器

Comment
作为事件过滤器的要求是QOject对象,监听的事件为QEvent的对象。 事件过滤器对象需要重写eventFilter()函数。函数的参数不需要自己传,目标对象会自动传,前提是使用了installEventFilter函数。

Read More

从零开始的桌面收音机

Comment
核心MCU选用的是ESP32 C3。LNA_IN(射频输入和输出)串联0欧姆电阻防止信号被干扰,原因似乎是防止阻抗不匹配。 外接SD和NOR FLASH。 usb供电下载和usb转ttl内置。

Read More

顺序容器

Comment
vector有多个构造函数,默认的构造函数是构造一个初始长度为0的内存空间,且分配的内存空间是以2的倍数动态增长的,在push_back的过程中,若发现分配的内存空间不足,则重新分配一段连续的内存空间,其大小是现在连续空间的2倍,在将原先空间中的元素复制到新的空间中,性能消耗较大。 vector在尾端增添数据拥有比较好的性能。 vector内部实现实际上是动...

Read More

非类型参数

Comment
非类型参数只能是整数、枚举类型、指向外部链接的指针 非类型参数不能是一个浮点类型和类类型

Read More

抽象类

Comment
包含有纯虚函数的类称作抽象类 纯虚函数: ‘virtual void Test(void)=0;’ 基类不需要实现函数,提供模板为子类使用。 抽象类不能创建对象,因为纯虚函数没有实现功能。 可以作为引用或者指针的类型。 子类继承抽象类时必须实现抽象类里面的全部纯虚函数,否则子类也为抽象类

Read More

虚析构函数

Comment
若子类继承基类,两者析构函数不加virtual关键字,此时调用函数 参数为基类指针指向子类对象 删除对象,那么只会执行基类构造函数,此时对于编译器而言,你传进去的基类指针,在函数体已经静态编译好为基类的构造函数。 如果在基类的析构函数前加上virtual关键字,此时对于子类的析构函数,也会自动加上virtual关键字,从而加入到虚函数表中,再调用上面的函数,...

Read More

隐藏

Comment
当子类继承基类时,若函数名相同,参数名不同,此时基类有没有virtual关键字,函数都将被隐藏 当子类继承基类时,若函数名相同,参数相同,基类没有virtual关键字,此时基类函数将被隐藏

Read More

多态总结

Comment
1.基类(父类)里面的方法是用virtual关键字修饰,变成虚函数 2.子类继承父类重写父类里面的方法 3.用父类的指针或引用指向子类对象 4.通过父类指针或引用调用子类重写的父类方法 静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择调用合适的函数,如果有合适的函数就调用,没有的话就会发出警告或者报错; 静态多态:函数重载,泛型编程 动态多态是...

Read More