#include<iostream>
using namespace std;
class Phone
{
public:Phone(string pname){m_pname=pname;cout<<"phone的構造函數調用"<<endl;}~Phone(){cout<<"Phone的析構函數調用"<<endl;}string m_pname;
};
class Person
{
public:Person(string name,string pname):m_name(name),m_phone(pname){cout<<"person的構造函數調用"<<endl;}string m_name;Phone m_phone;~Person(){cout<<"Person的析構函數調用"<<endl;}
};
void test01()
{Person p("張三","蘋果");cout<<p.m_name<<"拿著:"<<p.m_phone.m_pname<<endl;
}
int main()
{test01();
}
比如class A中有class B,則先調用class B的構造函數,再調用class A的構造函數,先調用class A的析構函數,再調用class B的析構函數。class B先來后去。