PTA 時間換算 過載運算子,c

2021-10-06 10:28:18 字數 1238 閱讀 5540

定義乙個時間類time,內有資料成員hour,minute,second,另有成員函式:建構函式用於初始化資料成員,輸出函式,運算子過載+(加號),。編寫主函式:建立時間物件,再輸入秒數 n,通過運算子過載+(減號),計算該時間再過 n 秒後的時間值,時間的表示形式為時:分:秒,超過 24 時從 0 時重新開始計時。

測試輸入包含若干測試用例,每個測試用例佔一行。當讀入0 0 0 0時輸入結束,相應的結果不要輸出。

輸入輸出示例:括號內為說明

0 0 1 59 (時間為0:0:1,秒數n=59)

11 59 40 30 (時間為11:59:40,秒數n=30)

23 59 40 3011 (時間為23:59:40,秒數n=3011)

0 0 0 0

輸出:time:0:1:0(0:0:01加上59秒的新時間)

time:12:0:10(11:59:40加上30秒的新時間)

time:0:49:51(23:59:40加上3011秒的新時間)

#include

using

namespace std;

class

clock

;//初始化列表函式

void

get(

int,

int,

int)

;//獲取時間

friend clock operator+(

const clock &a,

int k)

;//過載+運算子,讀入clock物件和時間變化量

void

display()

;//顯示時間函式};

void clock::

display()

void clock::

get(

int a,

int b,

int c)

clock operator+(

const clock &a,

int k)

if(c1.minutes>

59||c1.minutes<0)

if(c1.hours>

23||c1.hours<0)

}}}return c1;

}int

main()

c1.get(a1,a2,a3)

; c1=c1+a4;

c1.display()

;}return0;

}

C 過載運算子

運算子過載是一種形式的c 多型。在c 中,編譯器有能力把乙個由資料 物件和操作符共同組成的表示式,解釋為對乙個全域性或成員函式的呼叫。該全域性或成員函式被稱為操作符函式,通過重定義操作符函式,可以實現針對自定義型別 結構,類 的運算法則,並使之與內建型別一樣參與各種表示式。過載運算子可使 看起來更加...

C 過載運算子

本文主要講述加號運算子 自增運算子 流提取運算子運 流插入運算子 先給出vector類 class vector 建構函式 vector const vector v 拷貝建構函式 vector operator const vector v 過載 vector operator 過載前置自增運算子...

C 過載運算子

過載的運算子是帶有特殊名稱的函式,函式名是由關鍵字 operator 和其後要過載的運算子符號構成的。與其他函式一樣,過載運算子有乙個返回型別和乙個引數列表。如果我們定義的函式為類的成員函式 box operator const box 如果我們定義的函式為非成員函式,那麼我們需要為每次操作傳遞兩個...