【C++】【待完善】虚继承对象的构造函数调用次序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wingrez/article/details/85265502
#include<iostream>
using namespace std;

class C1{
	public: C1(){ cout<<"C1"<<endl; }
};

class C2 : virtual public C1{
	public: C2(){ cout<<"C2"<<endl; }
};

class C3 : public C1{
	public: C3(){ cout<<"C3"<<endl; }
};

class C4 : virtual public C2{
	public: C4(){ cout<<"C4"<<endl; }
};

class C5 : public C2, virtual public C3{
	public: C5(){ cout<<"C5"<<endl; }
};

class C6 : virtual public C3,  public C4, virtual public C5{
	public: C6(){ cout<<"C6"<<endl; }
};

int main(){
	C6 c;
	return 0;
}

输出:

C1
C3
C1
C2
C2
C5
C4
C6

猜你喜欢

转载自blog.csdn.net/wingrez/article/details/85265502