聚合

聚合
            重用的另一种方法
      a 聚合 b
    b 要有必要的支持才能实现,具体过程如:
     a, cocreateinstance,指定 自己的IUnknown  ,并必须在iid,ppv中指定是 IID__IUnknown ,IUnknown*(被聚合的com类的 非委托IUnknown)
此时 被聚合类 在类厂(createinstance 中 接收 a的 IUnknown  并在 b 的成员中赋好值)支持下,被创建
的com类 被创建。
      b 中 2组 IUnknown 接口:委托(聚合) 和   非委托(正常)
    在a 中获取 IUnknown接口(b的),请求 其他 接口时 ( a把 客户发出的对b 的接口请求 转到  a 获取
 IUnknown 接口 调用 queryinterface ),全部使用  b 对象 的  委托接口  来判断  是把接口请求 转到
非委托 还是 外部  a 的IUnknown

你可能感兴趣的:(聚合)