输入输出运算符重载

    xiaoxiao2021-03-25  106

    输入输出运算符重载

    类的声明

    // // 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
    转载请注明原文地址: https://ju.6miu.com/read-15745.html

    最新回复(0)