C++类对象数据成员的构造函数初始化顺序

测试:

#include  
#include  
#include 
#include
#include
#include
#include

using namespace std;

class member1{
public:
	member1(){
		cout << "constuctor function of member1 class!" << endl;
	}
	~member1(){
		cout << "destructor function of member1 class!" << endl;
	}
};

class member2{
public:
	member2(){
		cout << "constuctor function of member2 class!" << endl;
	}
	~member2(){
		cout << "destructor function of member2 class!" << endl;
	}
};

class base{
public:
	base(){
		cout << "constuctor function of base class!"<< endl;
	}
	~base(){
		cout <<"destructor function of base class!" << endl;
	}
};

class derived:public base{
public:
	member1 mem1;
	member2 mem2;
	derived(){
		cout << "constuctor function of derived class!" << endl;
	}
	~derived(){
		cout << "destructor function of derived class!" << endl;
	}
};


int main(){
	derived de;
	//member me;
	return 0;
}
结果:

C++类对象数据成员的构造函数初始化顺序_第1张图片

你可能感兴趣的:(c++)