zoukankan      html  css  js  c++  java
  • 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;
    }
    
  • 相关阅读:
    康托展开
    Linux Command Line Basics
    hihoCoder 1401 Registration
    C++ 参考网站
    Linux 下的常用工具
    SQL 命令
    GNU MAKE 笔记
    一道基本的计算几何题
    uva 1451 平均值
    bzoj 1826 缓存交换
  • 原文地址:https://www.cnblogs.com/xuelanga000/p/13629895.html
Copyright © 2011-2022 走看看