我無法區分聚合和持有的區別。這是什麼意思,讓我們說,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;
//...
}
請給我一個鏈接到一個網站或一個地方的一本書,我可以從面嚮對象語言的角度找到明確的定義,即類之間的每種關係是什麼。