【C++】探究类派生时构造函数的顺序

时间:2015-05-13 10:40:14   收藏:0   阅读:109
//探究类派生时构造函数的顺序
//在派生类对象的创建中,首先是虚基类的构造函数并按它们声明的顺序构造。
//第二批是非虚基类的构造函数按它们声明的顺序调用。
//第三批是成员对象的构造函数。最后是派生类自己的构造函数被调用

#include <iostream>
using namespace std;
class B
{
public:
	B()
	{
		cout<<"B"<<endl;
	}
	int x;
};

class B1 
{
public:
	B1()
	{
		cout<<"B1"<<endl;
	}
	int n;
};

class B2
{
public:
	B2()
	{
		cout<<"B2"<<endl;
	}
	int n;
};

class D : public B1, public B2 ,virtual public B
{
public:
	D()
	{
		cout<<"D"<<endl;
	}
	int m;
};

void main()
{
	D d;
}
<img src="http://img.blog.csdn.net/20150512212702511?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG91ZG91d2ExMjM0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!