输入输出运算符重载

来源:互联网 发布:千图网下载源码 编辑:程序博客网 时间:2024/05/20 03:06

输入输出运算符重载

这里写图片描述

这里写图片描述

这里写图片描述

类的声明

//// Created by Rdw on 2017/3/9.//#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

类的定义

//// Created by Rdw on 2017/3/9.//#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.exe19hour 22minutes20hour 20minutes2020202020hour 20minutesProcess finished with exit code 0
0 0