gpt4 book ai didi

c++ - 我可以用 C++ 为模板类编写接口(interface)吗

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:29 31 4
gpt4 key购买 nike

我有一个接口(interface)和一个存储序列化对象的类的几个实现。我想将实现类制作成模板类,这样我就可以将它们用于不止一种类型的对象,但是我遇到了编译器错误。

#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;
}

我在“class Implementation...”行收到“error: expected class-name before ‘{’ token”。

谢谢。

最佳答案

template<typename T>
class Implementation : public Interface<T> {
// ^^^

关于c++ - 我可以用 C++ 为模板类编写接口(interface)吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446856/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com