C++之类对象作为成员变量

C++允许一个类的对象作为另一个类的成员变量,但是这时其构造函数与析构函数是怎样调用的呢。
不妨写一段代码来考究一下。

class A {
public:
	A()
	{
		cout << "A的构造函数的调用" << endl;
	}
	~A()
	{
		cout << "A的析构函数的调用" << endl;
	}
};

class B {
public:
	A a;
	B()
	{
		cout << "B的构造函数的调用" << endl;
	}
	~B()
	{
		cout << "B的析构函数的调用" << endl;

	}
};

void Test01()
{
	B b;
}

int main()
{
	Test01();
	return 0;
}

运行后的结果为:
C++之类对象作为成员变量_第1张图片
总而言之:
1.在创建对象时,先构造其他类对象,再构造自身的对象。
2.在销毁对象时,先销毁自身,在销毁其他类对象。ps(有点类似堆栈)

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