2016-03-01 48 views
1

是否有可能定义一个虚拟方法的专业类?例如虚拟方法的一个专门的类

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

您是否试过这样做? – Nard

+0

是的。此外,这里没有“专业班”。 – Barry

+0

是的,但我试过类似的编译器为cuda,它没有工作,所以我想知道,如果这只是无效的c + +。 – eaponte

回答

1

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

在这种情况下,您并不专注于SubInterface,您可以从模板专业化中继承它。