赋值运算符重载
类的声明
#ifndef PROJECT5_TIME_H
#define PROJECT5_TIME_H
#include <ostream>
#include <istream>
using namespace std;
class Time {
private:
int hour;
int minute;
public:
Time();
Time(
int h ,
int m);
~Time();
friend ostream &
operator<<(ostream &os ,
const Time &
object);
Time &
operator=(
const Time&
object);
Time &
operator+=(
const Time&
object);
};
#endif //PROJECT5_TIME_H
类的定义
#include "Time.h"
Time::Time() {
}
Time::Time(
int h,
int m) {
hour = h;
minute = m;
}
Time::~Time() {
}
Time& Time::
operator=(
const Time &
object) {
hour =
object.hour;
minute =
object.minute;
return *
this;
}
Time& Time::
operator+=(
const Time &
object) {
hour +=
object.hour;
minute +=
object.minute;
return *
this;
}
ostream&
operator<<(ostream &os,
const Time &
object) {
os <<
object.hour <<
"hour " <<
object.minute <<
"minutes" ;
os << endl;
return os;
}
类的实现
#include <iostream>
#include "Time.h"
using namespace std;
int main() {
Time time1 = Time(
19,
22);
cout << time1;
Time time11 = Time(
22,
22);
cout << time11;
Time time2 = time1;
cout << time2;
time2 += time11;
cout << time2;
}
测试结果
E:\Project5\cmake-build-debug\Project5.exe
19hour 22minutes
22hour 22minutes
19hour 22minutes
41hour 44minutes
Process finished
with exit code
0
转载请注明原文地址: https://ju.6miu.com/read-15940.html