//指针只有在分配内存后才会调用构造函数(比如new的时候);否则不调用
#include <iostream>
using namespace std;
class A
{
public:
A(){cout<<"A"<<endl;
}
};
class B:public A
{
public:
B(){cout<<"B"<<endl;
}
};
class C:public B
{
public:
C(){cout<<"C"<<endl;
}
};
int main()
{
C c;//ABC
C *p,*q;//null
p = &c;//null
q = new C;//ABC
A a;//A
A *s,*t,*r;
s = &c;//null
t = new B;//AB
r = new C;//ABC
}
//派生类对象调用构造函数时,不止调用爹的,也会调用爷爷的,以此类推,只有有基类就一直调用;
// 构造函数调用顺序:基类,成员对象类(按说明顺序),自己的;