C ++ 派生类构造函数执行的次序

来源:互联网 发布:短信软件哪个好 编辑:程序博客网 时间:2024/04/30 10:41

派生类构造函数执行的次序:
调用基类构造函数,调用顺序按照它们被继承时声明的顺序(从左到右);
调用内嵌成员对象的构造函数,调用顺序按照它们在类中声明的顺序;
派生类的构造函数体中的内容。

#include <iostream>#include <time.h>using namespace std;class B1{public:    B1(int i)    {        cout<<"constructing B1 "<<i<<endl;    }};class B2{public:    B2(int j)    {        cout<<"constructing B2 "<<j<<endl;    }};class B3{public:    B3()    {        cout<<"constructing B3"<<endl;    }};class C: public B2, public B1, public B3{public:    C(int a, int b, int c, int d):B1(a), memberB2(d), memberB1(c),B2(b)    {    }private:    B3 memberB3;    B1 memberB1;    B2 memberB2;};int main() {     C obj(1,2,3,4);    system("pause");    return 0; }
0 0
原创粉丝点击