atl介绍

2019-04-14 08:30发布

ATL 中 所 使 用 的 基 本 技 术  :
  • COM 技 术
  • C++ 模 板 类 技 术(Template)
  • C++ 多 继 承 技 术(Multi-Inheritance)
  • 模 板 类 的 定 义 格 式: template < class T >
    class MyTemp
    {
    MyTemp< T >( ) { };
    ~MyTemp< T >( ) { };
    int MyFunc( int a) ;
    }
    … …
    Int MyTemp< T >::MyFunc( int a)
    {
    }
  • 模 板 类 的 用 法: typedef MyTemp< MyClass > myclassfromtemp;
    myclassfromtemp m;
    int a = m.Myfunc(10);
  • 使 用 多 继 承 技 术 可 以 使 程 序 的 设 计 和 实 现 更 加 灵 活, 但 是, 由 于 多 继 承 的 复 杂 性 和 自 身 概 念 上 的 一 些 问 题, 使 多 继 承 在 各 种 面 向 对 象 的 语 言 环 境 中 得 到 的 支 持 都 非 常 有 限。MFC 不 支 持 多 继 承 技 术。 多 继 承 最 大 的 问 题 是 所 谓 的“ 钻 石 结 构”。
  • 采 用 模 板 可 以 在 编 译 过 程 中 快 速 生 成 具 有 用 户 定 制 功 能 的 类, 这 对 于COM 这 样 一 个 复 杂 的 技 术 体 系 在 实 现 效 率 上 得 到 了 很 大 的 提 高。 通 过 使 用 模 板 类, 用 户 可 以 把 精 力 集 中 在 自 己 开 发 的 类 的 基 本 逻 辑 上, 在 完 成 了 自 己 的 类 的 设 计 以 后, 通 过 继 承 不 同 的 类, 生 成 不 同 的 模 板 类, 就 可 以 快 速 实 现COM 的 功 能, 同 时 又 避 免 了 采 用 单 继 承 结 构 造 成 的 大 量 功 能 冗 余。