類物件作為類成員
阿新 • • 發佈:2022-04-04
當類中成員是其他類物件時,我們稱該成員為 物件成員
構造的順序是 :先呼叫物件成員的構造,再呼叫本類構造 //析構順序與構造相反
例如:
class A {} class B { A a; }
B類中有物件A作為成員,A為物件成員
那麼當建立B物件時,A與B的構造和析構的順序是誰先誰後?
class Phone { public: Phone(string name) { m_PhoneName = name; cout << "Phone構造" << endl; } ~Phone() { cout<< "Phone析構" << endl; } string m_PhoneName; }; class Person { public: //初始化列表可以告訴編譯器呼叫哪一個建構函式 Person(string name, string pName) :m_Name(name), m_Phone(pName) { cout << "Person構造" << endl; } ~Person() { cout << "Person析構" << endl; } void playGame() { cout << m_Name << " 使用" << m_Phone.m_PhoneName << " 牌手機! " << endl; } string m_Name; Phone m_Phone; }; void test01() { //當類中成員是其他類物件時,我們稱該成員為 物件成員 //構造的順序是 :先呼叫物件成員的構造,再呼叫本類構造 //析構順序與構造相反 Person p("張三" , "蘋果X"); p.playGame(); } int main() { test01(); system("pause"); return 0; }