12 2021 档案
摘要:QToolBox如果直接用remove(不会delete)移除子类,显示会不全,因为item失去约束后,跑到窗口左上角了(这里移除s1), 要想显示完整,remove后将对应item用hide()隐藏即可。 QWidget* item = toolBox->widget(index); // 获取i
阅读全文
摘要:搞懂了c++创始人写的<the design and evolution of cpp>中的下面这个例子, 有助于你理解typdef: typedef int P(); typedef int Q(); class X { static P(Q); // 等价于`static int Q()`, Q
阅读全文
摘要:答案是可以的。 一个non-virtual 函数被定义为private时,它只能被该类的成员函数或友元函数所访问。而virtual修饰符则强调父类的成员函数可以在子类中被重写,而virtual修饰符则强调父类的成员函数可以在子类中被重写,因为重写之时并没有与父类发生任何的调用关系,故而重写是被允许的
阅读全文
摘要:1、类被标记为final,禁止被继承 class base final {}; class derived: public base // 报错,不能将"final"类型作为基类 {}; 2、虚函数(函数必须是虚函数)被标记final,禁止被 override class base { virtua
阅读全文
摘要:众所周知,子类虚函数指针会把父类虚函数指针覆盖,如果要子类调用父类虚函数,方法如下 1 class Father 2 { 3 virtual void show(){cout<<"this is father."<<endl;} 4 }; 5 6 class Son 7 { 8 virtual vo
阅读全文
摘要:在C++中,对于两个函数,一个有const修饰,一个没有const修饰,认为这两个函数是不同的函数。 虚函数的要求是,函数原型相同,函数原型包括:函数返回值、函数名、参数列表、const修饰符。这里const修饰符包括函数返回值的修饰,函数形参的修饰,函数本身的修饰。只要有一处没有对上 ,那么就不是
阅读全文
摘要:引用成员变量和const成员变量初始化只能通过成员初始化列表初始化。引用成员变量地址会变为对应初始化变量的地址。 引用成员变量和const成员变量在class中定义未声明时,和普通成员变量是一样的,对象通过成员初始化列表后,或者进入构造函数内部代码块那一刻,才会赋予引用和const的职能 普通成员变
阅读全文