在课堂上重载+操作符

时间:2014-03-05 14:47:08

标签: c++ operator-keyword

我正在编写一个时间项目,其中一部分应该重载+运算符以添加两个时间对象并返回另一个对象作为结果。我似乎无法解决这个问题。我们必须使用试验台进行测试。

这就是我对重载函数的作用

Time Time::operator +(const Time & that){
Time temp(*this);
*this =(hour, minute);
temp = add(that.hour, that.minute);
return temp;
}

这是我运行的测试

Time t24 = (1,1);
Time t25 = (1,1);
t24+t25;
if(t24.getMinute()== 2 && 
   t24.getHour()== 2 )
   good++;
else {  
  Memo1->AppendText(wxString("+ operator fails object. \n"));
  bad++;
}

1 个答案:

答案 0 :(得分:0)

如果您需要从这些重载中访问私有friend数据,我会将二进制运算符(如+, - 等)重载为自由函数(可能是TimeTime

Time operator+(const Time& lhs, const Time& rhs) {
    ... build a new Time adding lhs and rhs time values
    return Time(hewHour, newMinute);
}
相关问题