【问题标题】:Can I specify the type of the class template when inherits it into a child class?继承到子类时可以指定类模板的类型吗?
【发布时间】:2013-11-13 10:35:54
【问题描述】:

说,我有一个父类模板。并想在其上建立几个子类。每个子类都是特定于类型名的。那么我可以指定他们在继承父类模板时使用的 typename 吗?

类定义示例:

 template <class tName1, class tName2>
 class parent
 {
     tName1 a;
     tName2 b;
     ...
 }

 class child: public parent<int, float>
 {
     ...
 }

这段代码正确吗?

【问题讨论】:

  • 虽然这在 C++ 中不一定足够,但第一次尝试(尤其是使用模板)将是查看它是否按预期方式编译和运行。
  • 在尝试使用 C++ 编程之前,我更想了解它为什么会如此工作......因为你永远不知道什么时候一个被误解的概念会导致意想不到的结果。当它发生时,很难调试......

标签: c++ inheritance class-template


【解决方案1】:

是的,我可以做到。似乎每次我在 C++ 中调用模板时,我都必须指定它的类型或将其转换为另一个模板。在这种情况下,它指定了它的类型。

【讨论】:

  • 请不要添加“谢谢”作为答案。相反,请为您认为有帮助的答案投票。
猜你喜欢
  • 2020-06-26
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 2011-03-17
  • 2015-04-22
相关资源
最近更新 更多