基类成员初始化的地方

基类成员初始化的地方:构造函数之前,成员初始化列表只是给基类构造函数传递参数的一个地方,一个机会,使用基类构造函数的时候在构造函数之前
基类子对象初始化的工作必需交给基类构造函数执行,赋值工作可以的给派生类执行,在进入构造函数之前:初始化,构造函数之后:赋值

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;
}

你可能感兴趣的:(学习笔记之C++)