【问题标题】:Please explain about class instance in c++请解释一下c++中的类实例
【发布时间】:2015-07-22 22:09:56
【问题描述】:
class AAA
{
private:
    BBB<CCC> item;
....}

BBB 和 CCC 都是其头文件的其他类名。

什么 做“BBB项目;”是什么意思?

【问题讨论】:

  • 你的意思是:BBB&lt;CCC&gt; item; 是什么意思?
  • 看起来 AAA 类包含一个私有变量 BBB,它是一个 CCC 类型的模板类。

标签: c++ class header


【解决方案1】:

BBB是一个接受模板参数的类。模板参数是类CCC。这意味着itemBBB&lt;CCC&gt; 类型的私有变量。

【讨论】:

    【解决方案2】:

    &lt;object&gt; 表示泛型编程,对象BBB 获取类类型CCC,可用于类BBB 中的函数和变量声明。

    More information here.

    【讨论】:

    • 非常感谢。那么如何在构造函数中初始化呢?
    • 取决于它的构造函数。但它与非模板类没有什么不同。
    【解决方案3】:

    item 是 BBB 类型的私有成员。 BBB 是一个类。 BBB 是一个模板类,在这种情况下需要一个具体的类或数据类型,如 int 或 CCC。

    BBB定义如下:

    template <class T> class BBB
    {
    ...
    };
    

    例如,可以在 AAA 类的构造函数中使用任何 BBB 类型的对象初始化 item,方法如下:-

    AAA(BBB<CCC> &bObj) : item(bObj)
    {
    ...
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-08
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多