(1)调用基类的构造函数,多个基类则按派生类声明时
列出的次序、从左到右调用,而不是初始化列表中
的次序。
(2)调用对象成员(子对象)的构造函数,按类声明中
对象成员出现的次序调用,而不是初始化列表中的
次序。
(3)执行派生类的构造函数。
同一层中对虚基类构造函数的调用总是先于普通基类的构
造函数。
#includeusing namespace std; class A//基类A { public: A(){cout<<"class A"<
#includeusing namespace std; class M { public: M(const char *s){cout<<"M:"<