我正在编写一个时间项目,其中一部分应该重载+运算符以添加两个时间对象并返回另一个对象作为结果。我似乎无法解决这个问题。我们必须使用试验台进行测试。
这就是我对重载函数的作用
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++;
}
答案 0 :(得分:0)
如果您需要从这些重载中访问私有friend
数据,我会将二进制运算符(如+, - 等)重载为自由函数(可能是Time
类Time
:
Time operator+(const Time& lhs, const Time& rhs) {
... build a new Time adding lhs and rhs time values
return Time(hewHour, newMinute);
}