我无法区分聚合和持有之间的区别。比如说,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;
//...
}
请给我一个网站链接或书中某个地方的链接,我可以在其中找到关于 OO 语言的明确定义,类之间的每种关系到底是什么。