简洁易懂讲清原理,讲不清你来打我~

默认构造函数分为有用的和无用的

无用的默认构造函数是空函数
如果没有显示定义默认构造函数,编译器一般会生成无用默认构造函数,以下情况会生成有用默认构造函数
如果类B中数据成员有A a; 生成有用的构造函数B::B(){a.A::A();}调用a的默认构造函数
如果类B是类A的派生类,生成有用的默认构造函数按声明的顺序调用基类的默认构造函数
如果类B带有虚函数,生成有用的默认构造函数对虚表指针vptr设置初值
posted on 2021-07-25 17:39  offer快到碗里来~  阅读(62)  评论(0)    收藏  举报