我知道合成具有“具有”关系的基本概念。但是,当实现合成的概念时,出现了一些问题,直到现在我还没有弄清基类中另一个类的对象和构造函数调用。
请在这方面帮助我。

最佳答案

组成意味着所包含的类对象在外部类(包含它)的生存期之外不存在。

Online Sample

#include <iostream>

class MyClass
{
    public:
        MyClass(){std::cout<<"\nMyClass";}
        ~MyClass(){std::cout<<"\n~MyClass";}
};

class MySecClass
{
    MyClass obj;
    public:
        MySecClass(){std::cout<<"\nMySecClass";}
        ~MySecClass(){std::cout<<"\n~MySecClass";}
};

int main()
{
    MySecClass obj;
    return 0;
}


输出:


  我的课
  MySecClass
  〜MySecClass
  〜我的班级

08-17 08:50