【发布时间】:2015-10-02 00:51:56
【问题描述】:
C++ 已经有一段时间了,我有一个类 Number 和几个子类,如 Integer、Decimal.. 我想重写 == 运算符来比较两个 num 在数字上相等时...我有类似以下的内容,但似乎无法弄清楚从模板类继承的子类的语法以及在子类中覆盖 == 运算符的语法...
template class <T>
class Number{
T data;
Number(T num) { data = num ;}
boolean operator==(T &other){ return data == other; }
}
class Integer : public Number{
int iData;
Integer(int i) { iData = i ; }
boolean operator==(Integer &other){ return idata == other.iData; }
}
【问题讨论】:
-
这已经回答here.
-
class应该在<>的Number模板中 -
你还需要以
;结束你的类声明
标签: c++ inheritance operator-overloading