C++类中的成员可以是另一个类的对象,我们称该成员为对象成员
classA{}classB{Aa;};B类中有对象A作为成员,A为对象成员。
那么当创建B对象时,A与B的构造和析构的顺序是谁先谁后?
classPhone{public:stringm_Phone;Phone(stringPname){m_Phone=Pname;}};classPerson{public://姓名stringm_Name;//手机Phonem_Phone;Person(stringname,stringPname){m_Name=name;//创建Phone对象并初始化Phonem_Phone(Pname);}};voidmain(){Personp("张三","三星");coutp.m_Name"拿着:"p.m_Phone.m_Phoneendl;}
总结:
构造时:是先创建手机类对象,再创建人类对象。所以当类对象作为类成员时,在创建该类时,是先创建该类中的类成员对象,然后再创建该类对象。
析构是:是先注销人类对象,在注销手机类对象