如何重载模板功能?

时间:2014-02-28 19:51:21

标签: c++ class templates

例如,我有以下课程:

template<typename _Type>
class MyClass
{
   MyClass();
   const MyClass<_Type>& operator*(const MyClass<_Type> &inc);
}

template<typename _Type>
const MyClass<_Type>& MyClass::operator*(const MyClass<_Type> &inc) // very much errors
{
   //something
}

我怎么可能这样做?

1 个答案:

答案 0 :(得分:0)

首先:因为任何类/结构,模板类在声明后必须有一个终结符;

  template<typename _Type>
  class MyClass
  {
     // ...
  };
// ^

示例中的下一个错误,您忘了指定模板类型:

template<typename _Type>
const MyClass<_Type>& MyClass<_Type>::operator*(const MyClass<_Type> &inc)
                          // ^^^^^^^
{
   //something
}

您也可能会注意到,这只是模板类方法的定义,而不是 overloadng