c++类中的成员可以是另一个类的对象,可以称该成员为对象成员
具体样例如下:
class A{}
class B
{
A a;
}
B类中有对象A作为成员,A为对象成员
class clone
{
public:
clone(string name)
{
z_name = name;
cout << "clone构造函数调用" << endl;
}
//品牌
string z_name;
~clone()
{
cout << "clone析构函数调用" << endl;
}
};
class person
{
public:
//clone C_name = Cname;
person(string Pname, string Cname):m_name(Pname),C_name(Cname)
{
cout << "person构造函数调用" << endl;
}
//姓名
string m_name;
//衣服
clone C_name;
~person()
{
cout << "person析构函数调用" << endl;
}
};
void test3()
{
person p1("REN", "LINING");
cout << "name:" << p1.m_name << endl;
cout << "Cname:" << p1.C_name.z_name << endl;
}
int main()
{
test3();
system("pause");
return 0;
}
y以上的代码输出为:
clone构造函数调用
person构造函数调用
name:REN
Cname:LINING
person析构函数调用
clone析构函数调用
从上述的输出我们可以看出,当创建类的对象的时候,作为类成员的对象先建立,在建立类本身。换句话说,先构建组成这一对象的所有元素,当这些零件构造完成之后,将这个零件拼凑成一个整体,形成一个最终的对象。
当释放对象时,先将对象整体释放,再讲组成这一对象的零件进行释放。与构建对象时想法。
这就是类作为对象成员时的基本应用以及相关的构造释放流程。