久久久国产精品秘人口麻豆|永久免费AV无语国产|人成电影免费中文字幕|久久AV嫩草影院2

    1. <dfn id="yitbn"><samp id="yitbn"><progress id="yitbn"></progress></samp></dfn>

          <div id="yitbn"></div>

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

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

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

              二、成員轉換函數(shù)

              成員轉換函數(shù)把該類的對象轉換為其他數(shù)據(jù)類型的對象。在成員轉換函數(shù)的聲明中要用到關鍵字operator。這樣聲明一個成員轉換函數(shù):

              operator aaa();

              在這個例子中,aaa就是要轉換成的數(shù)據(jù)類型的說明符。這里的類型說明符可以是任何合法的C++類型,包括其他的類。如下來定義成員轉換函數(shù);

              Classname::operator aaa()

              類名標識符是聲明了該函數(shù)的類的類型說明符。上面定義的Date類并不能把該類的對象轉換回time_t型變量,但可以把它轉換成一個長整型值,計算從2000年1月1日到現(xiàn)在的天數(shù)。

              #include iostream.h

              class Date

              {

              int mo,da,yr;

              public:

              Date(int m,int d,int y) {mo=m; da=d; yr=y;}

              operator int(); //聲明

              };

              Date::operator int() //定義

              {

              static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

              int days=yr-2000;

              days*=365;

              days+=(yr-2000)/4;

              for(int i=0;i days+=dys[i];

              days+=da;

              return days;

              }

              int main()

              {

              Date now(12,24,2003);

              int since=now;

              cout< return 0;

              }

              三、類的轉換

              上面兩個例子都是C++類對象和內(nèi)部數(shù)據(jù)對象之間的相互轉換。也可以定義轉換函數(shù)來實現(xiàn)兩個類對象之間的相互轉換。

              #include iostream.h

              class CustomDate

              {

              public:

              int da, yr;

              CustomDate(int d=0,int y=0) {da=d; yr=y;}

              void display()

              {

              cout< }

              };

              class Date

              {

              int mo, da, yr;

              public:

              Date(int m=0,int d=0,int y=0) {mo=m; da=d; yr=y;}

              Date(const CustomDate&); //轉換構造函數(shù)

              operator CustomDate(); //成員轉換函數(shù)

              void display()

              {

              cout< }

              };

              static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};

              Date::Date(const CustomDate& jd)

              {

              yr=jd.yr;

              da=jd.da;

              for(mo=0;mo<11;mo++)

              if(da>dys[mo]) da-=dys[mo];

              else break;

              mo++;

              }

              Date::operator CustomDate()

              {

              CustomDate cd(0,yr);

              for(int i=0;i cd.da+=da;

              return cd;

              }

              int main()

              {

              Date dt(12,24,3);

              CustomDate cd;

              cd = dt; //調(diào)用成員轉換函數(shù)

              cd.display();

              dt = cd; //調(diào)用轉換構造函數(shù)

              dt.display();

              return 0;

              }

              這個例子中有兩個類CustomDate和Date,CustomDate型日期包含年份和天數(shù)。

              這個例子沒有考慮閏年情況。但是在實際構造一個類時,應該考慮到所有問題的可能性。

              在Date里中具有兩種轉換函數(shù),這樣,當需要從Date型變?yōu)镃ustomDate型十,可以調(diào)用成員轉換函數(shù);反之可以調(diào)用轉換構造函數(shù)。

              不能既在Date類中定義成員轉換函數(shù),又在CustomDate類里定義轉換構造函數(shù)。那樣編譯器在進行轉換時就不知道該調(diào)用哪一個函數(shù),從而出錯。

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

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

              相關推薦:

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

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

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

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

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

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

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