我知道组合的基本思想,即构图具有“有”关系。但是当实现构图的想法出错时,直到现在我还没有弄清楚另一个类的对象和构造函数调用。基类。 请帮我这方面。
答案 0 :(得分:1)
组合意味着包含的类对象在外部类(包含它)对象的生命周期之外不存在。
#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;
}
输出
MyClass的
MySecClass
〜MySecClass
~MyClass