#include<iostream>
using namespace std;
class MyTime
{
private:
int hours;
int minutes;
public:
MyTime();
MyTime(int h, int m);
~MyTime();
void show();
MyTime operator+(const MyTime &t) const;
};
MyTime::MyTime() {
hours = 0;
minutes = 0;
}
MyTime::MyTime(int h, int m) {
hours = h;
minutes = m;
}
MyTime::~MyTime() {
}
void MyTime::show() {
cout << hours << "点" << minutes << "分" << endl;
}
MyTime MyTime::operator+(const MyTime &t) const{
cout << "t" << t.hours << "点" << t.minutes << " 分" << endl;
cout << "本身" << hours << "点" << minutes << " 分" << endl;
MyTime sum;
sum.minutes = t.minutes + minutes;
sum.hours = t.hours + hours + sum.minutes / 60;
sum.minutes = sum.minutes % 60;
return sum;
}
int main()
{
MyTime up(7, 40);
MyTime eat(0, 40);
MyTime go;
go = up + eat;
go.show();
return 0;
}
运算符+,=......都是双目运算符
那为什么重载函数的参数个数只有一个?
原来等号前面的参数已经加进来了
原来等号前面的参数已经加进来了