【发布时间】:2020-04-20 12:38:04
【问题描述】:
早上好,我已经搜索了一些东西,但找不到答案。我正在创建一个泛型类,其想法是泛型数据类型(类型名 T)应该来自一个接口:
这是界面:
template<typename T> class iDataType{
public:
virtual bool writeOnFile(std::fstream& theFile,T& data) = 0;
virtual T readOnFile(std::fstream& theFile) = 0;
};
这就是我正在“尝试”做的事情:
template <typename T : public iDataType> class Database{};
感谢您抽出宝贵时间。
【问题讨论】:
-
你能用
C++20吗? -
问题可能会被简化。但是在这种情况下,基类取决于类型,并且在它们之上没有公共基类——所以你没有得到一些公共基类,而且基类没有实现任何东西——所以你没有得到一些常见的实现,基本限制没有强加 T 具有您想要的成员函数和您想要的签名的限制那么有用。