您的位置:首页 > 其它

派生类构造函数的调用顺序

2014-05-18 22:45 253 查看
派生类构造函数的调用顺序如下:

基类的构造函数;

子对象类的构造函数;

派生类的构造函数.

当撤销派生类对象时,析构函数的调用正好相反。

实例:

class  Base1 {  int x;

public:  Base1(int a){ x=a;cout<<"调用基类1的构造函数!\n"; }

  ~Base1( ){  cout<<"调用基类1的析构函数!\n"; }

};

class  Base2 {  int y;

public: Base2(int a){ y=a;cout<<"调用基类2的构造函数!\n"; }

  ~Base2( ){  cout<<"调用基类2的析构函数!\n"; }

};

class Derived:public Base2, public Base1{

  int z;  Base1  b1,b2;

public:  Derived(inta,int b):Base1(a),Base2(20), b1(200),b2(a+b)

    {z=b;   cout<<"调用派生类的构造函数!\n";}

~Derived( ){cout<<"调用派生类的析构函数!\n";}

};

void  main(void)

{  Derived   c(100,200);

}

调用基类2的构造函数

调用基类1的构造函数

调用基类1的构造函数(说明基类1的对象b1)

调用基类1的构造函数(说明基类1的对象b2)

调用派生类的构造函数

调用派生类的析构函数

调用基类1的析构函数

调用基类1的析构函数

调用基类1的析构函数

调用基类2的析构函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: