现在的位置: 首页 > 综合 > 正文

C++ 构造析构的顺序

2018年05月08日 ⁄ 综合 ⁄ 共 381字 ⁄ 字号 评论关闭
#include <iostream>

class A{
public:
	A(){
		std::cout << "A ctor" << std::endl;
	}
	~A(){
		std::cout << "A dtor" << std::endl;
	}
};

class B{
public:
	B(){
		std::cout << "B ctor" << std::endl;
	}
	~B(){
		std::cout << "B dtor" << std::endl;
	}
};

class C: public B{
private:
	A _a;
public:
	C(){
		std::cout << "C ctor" << std::endl;
	}
	~C(){
		std::cout << "C dtor" << std::endl;
	}	
};

int main(int argc, char* argv[]){
	C c;
	return 0;
}

/*
B ctor
A ctor
C ctor
-------
C dtor
A dtor
B dtor
*/

【上篇】
【下篇】

抱歉!评论已关闭.