Advertisement

C++继承和派生 - 构造函数的执行顺序

阅读量:

派生类对象构造函数的执行顺序:

  1. 在开始阶段启动基类对象的构造函数。
  2. 接下来依次启动初始化列表中的各个数据成员的构造函数。
  3. 最终完成派生类对象在其生命周期内的全部属性和行为定义部分。

举个栗子:

1.先创建一个名为A的简单基类,里面包含一个构造函数和一个数据成员

复制代码
    class A {
    private:
    	int a;
    public:
    	A(int v) :a(v) {}
    };

2.然后再用A类派生出一个B类,为了区分,我们将初始化列表分行表示

复制代码
    class B :public A {
    private:
    	int b1;
    	A obj1;
    	A obj2;
    	int b2;
    
    	int b3;
    public:
    	B(int v) :
    		b1(v),//1号
    		obj2(v),//2号
    		obj1(v),//3号
    		b2(v),//4号
    		A(v)//5号
    	{
    		b3 = v;//6号
    	}
    };

**3.在主函数中定义一个B类对象,来调用派生类B的构造函

全部评论 (0)

还没有任何评论哟~