我无法区分聚合和持有的区别。这是什么意思,让我们说,C++?
我想当类A的对象拥有(或实例化)类B的对象时,它使用它自己执行某些功能。
例如:保持一个类的对象和聚合他们之间的区别是什么?
class A {
int state;
public:
A(int s): state(s) {}
int inc() { return state++; }
};
class B {
int app;
string s;
public:
B(): app(0), s("") {}
B(int A, const string& str): app(A), s(str) {}
void f(int p);
~B() { app = 0; s = ""; }
};
void B::f(int p)
{
A mA(p);
app = mA.inc();
}
和类A的对象的聚集会是这样:
class B{
A t;
//...
}
请给我一个链接到一个网站或一个地方的一本书,我可以从面向对象语言的角度找到明确的定义,即类之间的每种关系是什么。