C++练习-重载

C++练习-重载,第1张

题目一

描述
有一个时间类(Time),成员变量有:小时(hours)、分钟(minutes),补充 Time 类的代码,重载加号运算符,使得程序能够正确运行。


输入描述:
键盘输入两个正整数,分别为小时 h 和分钟 m。

要求分钟 m 范围为 0 - 59
输出描述:
输出两个 Time 对象(t1 和 t2)相加后的时间结果,通过调用 show() 输出。

#include 
using namespace std;

class Time {

    public:
        int hours;      // 小时
        int minutes;    // 分钟

        Time() {
            hours = 0;
            minutes = 0;
        }

        Time(int h, int m) {
            this->hours = h;
            this->minutes = m;
        }

        void show() {
            cout << hours << " " << minutes << endl;
        }

        // write your code here......
        重载为类的成员函数
        Time operator +(Time t2)
        {
        //时间要格式化
            hours=(hours+t2.hours+(minutes+t2.minutes)/60)%24;
            minutes=(minutes+t2.minutes)%60;
            return *this;//使用this指针
        }

};

int main() {

    int h, m;
    cin >> h;
    cin >> m;

    Time t1(h, m);
    Time t2(2, 20);

    Time t3 = t1 + t2;
    t3.show();
    
    return 0;
}

题目二

描述
有一个时间类(Time),成员变量有:小时(hours)、分钟(minutes),补充 Time 类的代码,重载小于号运算符,使得程序能够正确运行。


输入描述:
键盘输入两个整数,分别为小时 hh和分钟 mm,其中0 \le m <600≤m<60。


输出描述:
比较输入时间与6小时6分钟的大小,若输入时间较小则输出"yes",否则输出"no"。

#include 
using namespace std;

class Time {

    public:
        int hours;      // 小时
        int minutes;    // 分钟

        Time() {
            hours = 0;
            minutes = 0;
        }

        Time(int h, int m) {
            this->hours = h;
            this->minutes = m;
        }

        void show() {
            cout << hours << " " << minutes << endl;
        }

        // write your code here......
        //重载为类的成员函数
        bool operator <(Time t)
        {
        //两种情况
            if((hours<t.hours)||((hours==t.hours)&&(minutes<t.minutes)))
            {
                return true;
            }
            return false;
        }

};

int main() {
    int h, m;
    cin >> h;
    cin >> m;

    Time t1(h, m);
    Time t2(6, 6);
	
    if (t1<t2) cout<<"yes"; else cout<<"no";
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/674952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存