关系运算符重载

来源:互联网 发布:样本册设计软件 编辑:程序博客网 时间:2024/06/07 00:52

关系运算符重载

这里写图片描述

这里写图片描述

这里写图片描述

类的声明

//// Created by Rdw on 2017/3/9.//#ifndef PROJECT5_TIME_H#define PROJECT5_TIME_Hclass Time {private:    int hour;    int minute;public:    Time();//默认构造函数    Time(int h , int m);//构造函数    ~Time();//析构函数    void show() const;    void reset(int h , int m);    /*重载关系运算符*/    friend bool operator==(const Time &object1 , const Time &object2);    friend bool operator!=(const Time &object1 , const Time &object2);    friend bool operator<(const Time &object1 , const Time &object2);};#endif //PROJECT5_TIME_H

类的定义

//// Created by Rdw on 2017/3/9.//#include "Time.h"#include <iostream>using namespace std;Time::Time() {}Time::Time(int h, int m) {    hour = h;    minute = m;}Time::~Time() {}void Time::reset(int h, int m) {    hour = h;    minute = m;}void Time::show() const {    cout << hour << "hours " << minute << "minutes" << endl;}bool operator==(const Time &object1, const Time &object2) {    return (object1.hour == object2.hour && object1.minute == object2.minute);}bool operator!=(const Time &object1, const Time &object2) {    return !(object1 == object2);}bool operator<(const Time &object1, const Time &object2) {    int temp1 = object1.hour * 60 + object1.minute;    int temp2 = object2.hour * 60 + object2.minute;    return temp1 < temp2;}

类的使用

#include <iostream>#include "Time.h"using namespace std;int main() {    Time time11 = Time(9 , 30);    Time time12 = Time(10 , 30);    Time time13 = Time(9 , 30);    if (time11 == time12)        cout << "OK!!!" << endl;    else        cout << "NOT OK!!!" << endl;    if (time11 < time12)        cout << "<" << endl;    else        cout << ">" << endl;}

测试结果

E:\Project5\cmake-build-debug\Project5.exe        NOT OK!!!<Process finished with exit code 0
0 0
原创粉丝点击