基类成员初始化的地方:构造函数之前,成员初始化列表只是给基类构造函数传递参数的一个地方,一个机会,使用基类构造函数的时候在构造函数之前基类子对象初始化的工作必需交给基类构造函数执行,赋值工作可以的给派生类执行,在进入构造函数之前:初始化,构造函数之后:赋值
class B{public: int a; int b; int c;};class D:public B{public: D():a(1), b(2), c(3){} //illegal member initialization: 'c' is not a base or member D(){a = 1; b = 2; c = 3;} //ok};int main(){ D d; cout << d.a << d.b << d.c << endl; return 0;}
转载请注明原文地址: https://ibbs.8miu.com/read-10209.html