W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我們?cè)诘诰耪轮袑懙牧硪粋€(gè)函數(shù)是makeTime:
Time makeTime (double secs) {
Time time;
time.hour = int (secs / 3600.0);
secs -= time.hour * 3600.0;
time.minute = int (secs / 60.0);
secs -= time.minue * 60.0;
time.second = secs;
return time;
}
當(dāng)然,我們要能夠?yàn)槊糠N新類型創(chuàng)建新的對(duì)象。事實(shí)上,像makeTime這樣的函數(shù)是如此普遍,以至于有一種針對(duì)它們的特殊函數(shù)語(yǔ)法。這些函數(shù)被稱為構(gòu)造函數(shù),語(yǔ)法看起來(lái)是這樣的:
Time::Time (double secs) {
hour = int (secs / 3600.0);
secs -= hour * 3600.0;
minute = int (secs / 60.0);
secs -= minue * 60.0;
second = secs;
}
首先,注意到構(gòu)造函數(shù)名字和類名相同,沒有返回類型。而參數(shù)并沒有改變。
其次,請(qǐng)注意我們并不需要?jiǎng)?chuàng)建一個(gè)新的time對(duì)象,也不需要返回任何東西。這兩步都是自動(dòng)處理的。我們可以使用關(guān)鍵字this或者此處使用的隱式方式來(lái)引用新對(duì)象----我們構(gòu)造的那個(gè)對(duì)象。當(dāng)我們給hour,minute,second寫入值時(shí),編譯器知道我們引用的是新對(duì)象的實(shí)例變量。
我們使用介于變量聲明和函數(shù)調(diào)用之間的語(yǔ)法來(lái)調(diào)用此構(gòu)造函數(shù):
Time time (seconds);
這條語(yǔ)句聲明了一個(gè)Time類型的變量time,并調(diào)用我們剛寫的構(gòu)造函數(shù),把seconds的值作為參數(shù)傳遞給構(gòu)造函數(shù)。系統(tǒng)為新對(duì)象分配空間,而構(gòu)造函數(shù)初始化了它的實(shí)例變量。結(jié)果賦給了變量time。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: