输入输出运算符重载
类的声明
#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);
friend istream &
operator>>(istream &
is , Time &
object);
};
#endif //PROJECT5_TIME_H
类的定义
#include "Time.h"
Time::Time() {
}
Time::Time(
int h,
int m) {
hour = h;
minute = m;
}
Time::~Time() {
}
ostream&
operator<<(ostream &os,
const Time &
object) {
os <<
object.hour <<
"hour " <<
object.minute <<
"minutes" ;
os << endl;
return os;
}
istream&
operator>>(istream &
is, Time &
object) {
is >>
object.hour >>
object.minute;
return is;
}
类的使用
#include <iostream>
#include "Time.h"
using namespace std;
int main() {
Time time1 = Time(
19,
22);
cout << time1;
Time time2(
20,
20);
cout << time2;
cin >> time2;
cout << time2;
return 0;
}
测试结果
E:\Project5\cmake-build-debug\Project5.exe
19hour 22minutes
20hour 20minutes
20
20
20
20
20hour 20minutes
Process finished
with exit code
0
转载请注明原文地址: https://ju.6miu.com/read-15745.html