专业类的虚方法

时间:2016-03-01 18:56:08

标签: c++ templates virtual

是否可以在已经专门化的类上定义虚拟方法?例如

template
<class T_DataType>
struct Interface
{
T_DataType data;
...
};

struct NewInterface : Interface<int>
{
virtual
int return_data() = 0;
...
}

struct SubInterface : NewInterface
{
virtual
int return_data();
...
}

int SubInterface::return_data(){ return data;}

1 个答案:

答案 0 :(得分:1)

是的,代码有效且按预期工作。

在这种情况下,你不专门研究SubInterface,你可以从模板专业化继承它。