<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            計算機二級C++考點類的轉換

            時間:2025-05-20 18:00:59 試題 我要投稿
            • 相關推薦

            2017計算機二級C++考點類的轉換

              引導語:類的轉換是計算機二級C++的一個考點,以下是百分網小編分享給大家的2017計算機二級C++考點類的轉換,歡迎閱讀!

              類的轉換

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

              對一個類建立隱式轉換規則需要構造一個轉換函數,該函數作為類的成員,可以把該類的對象和其他數據類型的對象進行相互轉換。聲明了轉換函數,就告訴了編譯器,當根據句法判定需要類型轉換時,就調用函數。

              有兩種轉換函數。一種是轉換構造函數;另一種是成員轉換函數。需要采用哪種轉換函數取決于轉換的方向。

              轉換構造函數

              當一個構造函數僅有一個參數,且該參數是不同于該類的一個數據類型,這樣的構造函數就叫轉換構造函數。轉換構造函數把別的數據類型的對象轉換為該類的一個對象。和其他構造函數一樣,如果聲明類的對象的初始化表同轉換構造函數的參數表相匹配,該函數就會被調用。當在需要使用該類的地方使用了別的數據類型,便宜器就會調用轉換構造函數進行轉換。

              #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;

              }

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

            【計算機二級C++考點類的轉換】相關文章:

            C++類的轉換10-17

            計算機二級考試《C++》復習資料:類的轉換08-12

            計算機二級C++考點:C++語言概述07-17

            計算機二級C++函數考點07-22

            計算機二級《C++》考點解析:堆和類數組07-20

            計算機二級C++考點:基本控制結構10-18

            2017計算機二級C++考點習題及答案07-07

            2016最新計算機二級C++考點解析「模板」10-19

            C++的類型轉換介紹11-08

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看