C++类中的成员可以是另一个类的对象,我们称该成员为对象成员
class A{}
class B{
A a;
};
B类中有对象A作为成员,A为对象成员。
那么当创建B对象时,A与B的构造和析构的顺序是谁先谁后?
class Phone{
public:
string m_Phone;
Phone(string Pname){
m_Phone = Pname;
}
};
class Person{
public:
//姓名
string m_Name;
//手机
Phone m_Phone;
Person(string name,string Pname){
m_Name = name;
//创建Phone对象并初始化
Phone m_Phone(Pname);
}
};
void main(){
Person p("张三","三星");
cout << p.m_Name<<"拿着:"<< p.m_Phone.m_Phone << endl;
}
总结:
构造时:是先创建手机类对象,再创建人类对象。所以当类对象作为类成员时,在创建该类时,是先创建该类中的类成员对象,然后再创建该类对象。
析构是:是先注销人类对象,在注销手机类对象