在虚拟公共模式下从模板类继承的类的原型

时间:2017-02-06 11:55:05

标签: c++ templates inheritance polymorphism prototype

这个原型类:

template <typename T>
class MyClass
{};

简单地说:

template <typename T>
class MyClass;

但是这个类的原型是什么:

template <typename T>
class MyDerivedClass : public virtual MyBaseClass<T>
{};

如果我删除{},我会收到错误:

  

预期&#39; {&#39;之前&#39;;&#39;令牌

这甚至可能吗?我在Debian Stretch上使用gcc 6.2.1。

1 个答案:

答案 0 :(得分:2)

继承说明符是类定义的一部分,而不是它的声明。

您当然可以声明该类,而不是它的继承关系:

template <typename T>
class MyDerivedClass;
相关问题