类对象作为成员
c++ 类中的成员可以可以是另一个类的对象, 我们称该对象成员为 对象成员
class A{}
class B
{
A a;
}
B类中有对象A作为成员,A 为对象成员,那么当创建对象B对象时,A与B的构造和析构的顺序是谁先谁后?
class Phone
{
public :
Phone (string pName)
{
cout << "Phone构造函数调用" << endl;
m_Phone = pName ;
}
~Person()
{
cout << "phone析构函数调用" << endl;
}
//手机品牌名称
string m_PName;
};
class Person
{;
public:
Person(string name, string pName): m_Name = name, m_Phone(PName)
{
cout << "Person构造函数调用" << endl;
}
~Person()
{
cout << "person析构函数调用" << endl;
}
string m_Name;
Phone m_Phone;
};
void test01()
{
Person p("张三", "苹果max");
}
int main ()
{
test01();
}
总结:当其他类的对象作为本类对象,构造时候先构造类对象,再构造自身,析构顺序与构造顺序相反