基本用法
#ifndef OPERATOR_MYTIME1_H
#define OPERATOR_MYTIME1_H
class Time
{
private:
int hours;
int minutes;
public:
Time();
Time(int h, int m);
Time operator+(const Time & t) const;
void show() const;
};
#endif //OPERATOR_MYTIME1_H
#include <iostream>
#include "mytime1.h"
Time::Time() { hours = minutes = 0; }
Time::Time(int h, int m)
{
hours = h;
minutes = m;
}
Time Time::operator+(const Time &t) const
{
Time sum;
sum.minutes = minutes + t.minutes;
sum.hours = hours + t.hours + sum.minutes / 60;
return sum;
}
void Time::show() const
{
std::cout<<"hours: "<<hours<<", minutes"<<minutes<<std::endl;
}
#include <iostream>
#include "mytime1.h"
using namespace std;
int main() {
Time t1(1,1);
Time t2(2,2);
Time sum;
sum = t1 + t2; //等价于sum = t1.operator+(t2)
sum.show();
return 0;
}