对于个人项目,我需要定义一个模板类以便更好地进行优化。
我已经遵循了例子,但它还没有编译,因为我希望我的模板类继承自接口。 有人可以告诉我如何使用它,这是我的代码:
我的点HPP
template<typename T>
class Container : public IOP
{
public:
Container();
T val;
int getpr() const;
IOP *operator+(const IOP &r) const;
IOP *operator-(const IOP &r) const;
IOP *operator*(const IOP &r) const;
IOP *operator/(const IOP &r) const;
}
我的dot cpp哪里有我的函数(构造函数......)
Container::Container()
{
}
int Container::getpr()
{
...
}
... etc
我想像我那样使用我的课程:
Container<long> test;
或
Container<int> test;
感谢您提供任何帮助,链接或解释。
目前的编译错误:
Container.cpp:13:1: error: expected a class or namespace
Container::Container()
^
Container.cpp:13:12: error: C++ requires a type specifier for all declarations
Container::Container()
~~~~~~~~~ ^
Container.cpp:24:20: error: expected a class or namespace
std::string const &Container::toString()
^
Container.cpp:29:5: error: expected a class or namespace
int Container::getPrecision
()
答案 0 :(得分:1)
别忘了提及&lt; T&gt;因为这是模板类实现:
template <class T>
Container<T>::Container()
{
}
template <class T>
int Container<T>::getpr()
{
...
}
因为在您的代码中,这意味着您声明了模板类Container&lt; T&gt;和非模板类Container
的实现