(20 分) 定義一個時間類 Time,它能表示 24 小時制的時、分、秒,具體要求如下:
(1) 提供默認構造函數 Time(),將時、分、 秒都初始化成 0。
(2) 提供構造函數 Time(int h, int m, int s)。
(3) 提供成員函數 set(int h, int m, int s),功能是調整時間。
(4)能夠分別獲取時、分、秒信息。
(5) 提供成員函數 display(),顯示時間值。
(6) 提供成員函數 equal(Time &other_time),比較是否與時間 other_time 相等。
(7) 提供成員函數 increment(),使時間增加一秒。
(8) 提供成員函數 less_than(Time &other_time),比較是否早于時間 other_time。
// ConsoleApplication1.cpp : 定義控制臺應用程序的入口點。 //《面向對象程序設計(C++)》期末考試試題(綜合大作業)(原創張軍(QQ:360901061)) #include "stdafx.h" #include <iostream>; using namespace std; class Time { public: // (1) 提供默認構造函數 Time(),將時、分、 秒都初始化成 0。 Time() { _h = 0; _m = 0; _s = 0; } // (2) 提供構造函數 Time(int h, int m, int s)。 Time(int h, int m, int s) { check(h, m, s); _h = h; _m = m; _s = s; } bool check(int h, int m, int s){ //判斷輸入值合法性 if (h<0 || h>23 || m < 0 || m >59 || s<0 || s > 59){ throw string("時間格式不合法"); } } //(3) 提供成員函數 set(int h, int m, int s),功能是調整時間。 void set(int h, int m, int s){ check(h, m, s); _h = h; _m = m; _s = s; } //(4)能夠分別獲取時信息。 int getH(){ return _h; } //(4)能夠分別獲取分信息。 int getM(){ return _m; } //(4)能夠分別獲取秒信息。 int getS(){ return _s; } //(5) 提供成員函數 display(),顯示時間值。 void display(){ cout << _h << " 時 " << _m << " 分 " << _s << " 秒 " << endl; } //(6) 提供成員函數 equal(Time &other_time),比較是否與時間 other_time 相等。 bool equal(Time other_time){ if (_h == other_time._h && _m == other_time._m && _s == other_time._s){ return true; } else{ return false; } } //(7) 提供成員函數 increment(),使時間增加一秒。 void increment(){ _s++; if (_s == 60) { _m++; _s = 0; if (_m == 60) { _h++; _m = 0; if (_h == 24) { _h = 0; _m = 0; _s = 0; } } } } //(8) 提供成員函數 less_than(Time &other_time),比較是否早于時間 other_time。 bool less_than(Time other_time){ if (_h < other_time._h) { return true; } else if (_h == other_time._h && _m < other_time._m) { return true; } else if (_h == other_time._h && _m == other_time._m && _s < other_time._s) { return true; } else { return false; } } //表示 24 小時制的時、分、秒 private: int _h; int _m; int _s; }; int main() { //Time t; Time t(22, 59, 59); //Time t2(10, 11, 12); //t.increment(); //t.set(15, 16, 17); t.display(); //cout << t.getH() << endl; //cout << t.equal(t2) << endl; //cout << t2.less_than(t) << endl; system("pause"); return 0; }
本文為張軍原創文章,轉載無需和我聯系,但請注明來自張軍的軍軍小站,個人博客http://m.eyofj.com
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
