02-7 类对象作为类成员
c++中,类中的成员可以是另外一个类的对象。我们称呼这样的成员为:对象成员。
比如:
class A
{};
class B
{
A a;
}
B
类中有对象A
作为成员,那么A
就是对象成员。
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout << "这是A的构造函数" << endl;
}
~A()
{
cout << "这是A的析构函数" << endl;
}
};
class B
{
A a;
public:
B()
{
cout << "这是B的构造函数" << endl;
}
~B()
{
cout << "这是B的析构函数" << endl;
}
};
void main()
{
B b;
return;
}
我们自定义了类A
和B
的默认构造函数和析构函数。这些函数中写入了一行cout
命令用于打印内容。
运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
这是A的构造函数
这是B的构造函数
这是B的析构函数
这是A的析构函数
当其他的类的对象作为一个类的成员,在构造的时候,会先构造其他类的对象,再构造这个类的成员。
当其他的类的对象作为一个类的成员,在析构的时候,先析构这个类的成员,在析构其他类的对象。
所以简称:先构造的后析构。(可以简单想成乘无障碍电梯,先进入电梯的肯定站在最里面,下电梯的时候需要等后进来的人都离开了才能离开)。
:-)