类似于上面说到的组合关系,只不过,组合是将“部件”直接放入“整体”中(实例化的方式),而委托则是使用的“指针”的方式,也就是先在.h文件中声明一下,但是先不定义,后续可以随时new出来进行使用。
代码如下:
class A
{
int iA1;
int iA2;
};
class B
{
A *pA;
int iC1;
int iC2;
};
从上述代码可以看出,B中仅仅是声明了A的一个指针,如果想要使用A,则需要通过这个指针进行。
也就是B“委托”了pA这个指针,通过pA进行对于A的一些操作。
这点不同于“组合”,组合是直接就将部件准备好了,直接使用部件。
但是委托则是通过指针的方式,间接地去操作这个部件。
生命周期:
因为是指针的方式,因此整体和组件的生命周期变得不一致了。
先创建一个整体,等到需要组件的时候,才new出来一个组件进行使用。