C++(類對象作為類成員)


類對象作為類成員

  • C++類中的成員可以是另一個類的對象,我們稱該成員為對象成員

例如:

class A {};
class B 
{
      A a;
}
  • B類中有對象A作為成員,A為對象成員,那么當創建B對象時,A與B的構造和析構的順序是誰先誰后?

示例:

#include <iostream>
#include <string>
using namespace std;

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(void)
{
      test01();

      system("pause");
      return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM