Kev*_*vin 1 c++ polymorphism g++
我有一个接口和一些存储序列化对象的类的实现.我想将实现类转换为模板类,以便我可以将它们与多种类型的对象一起使用,但是我遇到了编译器错误.
#include <iostream>
template<typename T>
class Interface{
public:
virtual void func(T& c) = 0;
};
class Container{
public:
Container() : dummy(10){}
int dummy;
};
template<typename T>
class Implementation : public Interface{
public:
void func(T& c){
std::cout << "++c.dummy " << ++c.dummy << std::endl;
}
};
int main(){
Container c;
Implementation<Container> i;
i.func(c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在"class Implementation ..."行中收到"错误:'{'token'之前的预期class-name.
谢谢.
template<typename T>
class Implementation : public Interface<T> {
// ^^^
Run Code Online (Sandbox Code Playgroud)