輸入輸出運算符重載

輸入輸出運算符重載

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

類的聲明

//
// 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.exe
19hour 22minutes
20hour 20minutes
20
20
20
20
20hour 20minutes

Process finished with exit code 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章