首頁 - 網(wǎng)校 - 萬題庫 - 美好明天 - 直播 - 導(dǎo)航
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C加加 > 復(fù)習(xí)資料 > 正文

計算機二級C++語言程序設(shè)計考試輔導(dǎo)筆記(八)

來源:考試吧 2018-03-26 10:05:12 要考試,上考試吧! 萬題庫
“計算機二級C++語言程序設(shè)計考試輔導(dǎo)筆記(八)”供考生參考。更多計算機等級考試內(nèi)容請訪問考試吧計算機等級考試網(wǎng)。

  點擊查看:計算機二級C++語言程序設(shè)計考試輔導(dǎo)筆記匯總

  類的轉(zhuǎn)換

  C++的內(nèi)部數(shù)據(jù)類型遵循隱式類型轉(zhuǎn)換規(guī)則。假設(shè)某個表達市中使用了一個短整型變量,而編譯器根據(jù)上下文認為這兒需要是的長整型,則編譯器就會根據(jù)類型轉(zhuǎn)換規(guī)則自動把它轉(zhuǎn)換成長整型,這種隱式轉(zhuǎn)換出現(xiàn)在賦值、參數(shù)傳遞、返回值、初始化和表達式中。我們也可以為類提供相應(yīng)的轉(zhuǎn)換規(guī)則。

  對一個類建立隱式轉(zhuǎn)換規(guī)則需要構(gòu)造一個轉(zhuǎn)換函數(shù),該函數(shù)作為類的成員,可以把該類的對象和其他數(shù)據(jù)類型的對象進行相互轉(zhuǎn)換。聲明了轉(zhuǎn)換函數(shù),就告訴了編譯器,當(dāng)根據(jù)句法判定需要類型轉(zhuǎn)換時,就調(diào)用函數(shù)。

  有兩種轉(zhuǎn)換函數(shù)。一種是轉(zhuǎn)換構(gòu)造函數(shù);另一種是成員轉(zhuǎn)換函數(shù)。需要采用哪種轉(zhuǎn)換函數(shù)取決于轉(zhuǎn)換的方向。

  一、轉(zhuǎn)換構(gòu)造函數(shù)

  當(dāng)一個構(gòu)造函數(shù)僅有一個參數(shù),且該參數(shù)是不同于該類的一個數(shù)據(jù)類型,這樣的構(gòu)造函數(shù)就叫轉(zhuǎn)換構(gòu)造函數(shù)。轉(zhuǎn)換構(gòu)造函數(shù)把別的數(shù)據(jù)類型的對象轉(zhuǎn)換為該類的一個對象。和其他構(gòu)造函數(shù)一樣,如果聲明類的對象的初始化表同轉(zhuǎn)換構(gòu)造函數(shù)的參數(shù)表相匹配,該函數(shù)就會被調(diào)用。當(dāng)在需要使用該類的地方使用了別的數(shù)據(jù)類型,便宜器就會調(diào)用轉(zhuǎn)換構(gòu)造函數(shù)進行轉(zhuǎn)換。

  #include iostream.h

  #include time.h

  #include stdio.h

  class Date

  {

  int mo, da, yr;

  public:

  Date(time_t);

  void display();

  };

  void Date::display()

  {

  char year[5];

  if(yr<10)

  sprintf(year,0%d,yr);

  else

  sprintf(year,%d,yr);

  cout< }

  Date::Date(time_t now)

  {

  tm* tim=localtime(&now);

  da=tim->tm_mday;

  mo=tim->tm_mon+1;

  yr=tim->tm_year;

  if(yr>=100) yr-=100;

  }

  int main()

  {

  time_t now=time(0);

  Date dt(now);

  dt.display();

  return 0;

  }

  本程序先調(diào)用time()函數(shù)來獲取當(dāng)前時間,并把它賦給time_t對象;然后程序通過調(diào)用Date類的轉(zhuǎn)換構(gòu)造函數(shù)來創(chuàng)建一個Date對象,該對象由time_t對象轉(zhuǎn)換而來。time_t對象先傳遞給localtime()函數(shù),然后返回一個指向tm結(jié)構(gòu)(time.h文件中聲明)的指針,然后構(gòu)造函數(shù)把結(jié)構(gòu)中的日月年的數(shù)值拷貝給Date對象的數(shù)據(jù)成員,這就完成了從time_t對象到Date對象的轉(zhuǎn)換。

掃描/長按二維碼幫助考試通關(guān)
2018年等考報考資訊
2018等考各科通關(guān)技巧
2018各科最新預(yù)測試卷
2018等考各科備考資料

微信搜索"考試吧"了解更多考試資訊、下載備考資料

1 2 3 下一頁

  相關(guān)推薦:

  2018年全國計算機等級考試必做試題匯總(各科目)

  2018年全國計算機等級考試復(fù)習(xí)知識點匯總(各科目)

  2018年全國計算機等級考試時間|教材目錄(2018年版)

  2018全國計算機等級考試備考經(jīng)驗及應(yīng)試技巧匯總

  考試內(nèi)容|考試大綱|2018計算機等級考試科目

  歷年真題匯總|考試吧策劃:2018年計算機等級考試報考指南

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費真題 ·模考試題
微信掃碼,立即獲!
掃碼免費使用
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網(wǎng) 出版物經(jīng)營許可證新出發(fā)京批字第直170033號 
京ICP證060677 京ICP備05005269號 中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧