模板类定义类型

时间:2014-02-21 13:36:21

标签: c++ class templates

对于个人项目,我需要定义一个模板类以便更好地进行优化。

我已经遵循了例子,但它还没有编译,因为我希望我的模板类继承自接口。 有人可以告诉我如何使用它,这是我的代码:

我的点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

()

1 个答案:

答案 0 :(得分:1)

别忘了提及&lt; T&gt;因为这是模板类实现:

template <class T>
Container<T>::Container()
{

}

template <class T>
int Container<T>::getpr()
{
...
}

因为在您的代码中,这意味着您声明了模板类Container&lt; T&gt;和非模板类Container

的实现