0

我知道组合的基本思想是组合具有“有”的关系。但是在实现组合的想法时出了点问题,直到现在我才弄清楚基类中另一个类的对象和构造函数调用. 请在这方面帮助我。

4

1 回答 1

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

于 2012-04-10T08:28:43.167 回答