青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-4  評論-40  文章-117  trackbacks-0

在C和C + +中,如果編譯器看到一個表達式或函數調用使用了一個不合適的類型,它經常
會執行一個自動類型轉換。在C + +中,可以通過定義自動類型轉換函數來為用戶定義類型達到
相同效果。這些函數有兩種類型:特殊類型的構造函數和重載的運算符。
11.6.1 構造函數轉換
如果我們定義一個構造函數,這個構造函數能把另一類型對象(或引用)作為它的單個參
數,那么這個構造函數允許編譯器執行自動類型轉換。如下例:

class One{
 public:
One(){}
};

class Two{
public:
Two(const One&){}
};

void f(Two t){
}

main(){
One one;
f(one);      //Wants a Two, has a One
}

當編譯器看到f( )以為對象o n e參數調用時,編譯器檢查f( )的聲明并注意到它需要一個t w o
對象作為參數。然后,編譯器檢查是否有從對象one 到t w o的方法。它發現了構造函數
t w o : : t w o ( o n e ),t w o : : t w o ( o n e )被悄悄地調用,結果對象t w o被傳遞給f( )。
在這個情況里,自動類型轉換避免了定義兩個f( )重載版本的麻煩。然而,代價是隱藏了
構造函數對t w o的調用,如果我們關心f( )的調用效率的話,那就不要使用這種方法。
• 阻止構造函數轉換
有時通過構造函數自動轉換類型可能出現問題。為了避開這個麻煩,可以通過在前面加關
鍵字explicit (只能用于構造函數)來修改構造函數。上例類t w o的構造函數作了修改,如下:

class One{
 public:
One(){}
};

class Two{
public:
Two(const One&){}
};

void f(Two t){
}

main(){
One one;
//f(one);      //no auto conversion allowed
f(Two(one));      //OK user perform conversion
}


通過使類t w o的構造函數顯式化,編譯器被告知不能使用那個構造函數(那個類中其他非
顯式化的構造函數仍可以執行自動類型轉換)執行任何自動轉換。如果用戶想進行轉換必須寫
出代碼。上面代碼f ( t w o ( O n e ) )創建一個從類型O n e到t w o的臨時對象,就像編譯器在前面版本中
做的那樣。



11.6.2 運算符轉換
第二種自動類型轉換的方法是通過運算符重載。我們可以創建一個成員函數,這個函數通
過在關鍵字o p e r a t o r后跟隨想要轉換到的類型的方法,將當前類型轉換為希望的類型。這種形
式的運算符重載是獨特的,因為沒有指定一個返回類型——返回類型就是我們正在重載的運算
符的名字。這兒有一個例子:

class Three{
int i;
public:
Three(int I = 0, int = 0) : i(I){}
};

class Four{
int x;
public:
Four(int X) : x(X){}
operator Three(){ return Three(x); }
};

void g(three){}

void main(){
Four four(1);
g(four);
g(1);
}


用構造函數技術,目的類執行轉換。然而使用運算符技術,是源類執行轉換。構造函數技
術的價值是在創建一個新類時為現有系統增加了新的轉換途徑。然而,創建一個單一參數的構
造函數總是定義一個自動類型轉換(即使它有不止一個參數也是一樣,因為其余的參數將被缺
省處理),這可能并不是我們所想要的。另外,使用構造函數技術沒有辦法實現從用戶定義類
型向內置類型轉換,這只有運算符重載可能做到。



posted on 2009-03-06 19:07 李陽 閱讀(1246) 評論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产一中文字不卡| 一本色道久久综合亚洲精品小说 | 国产精品99久久久久久人| 欧美日韩人人澡狠狠躁视频| 久久精品二区亚洲w码| 欧美综合二区| 午夜精品美女自拍福到在线| 日韩午夜免费视频| 亚洲国产综合在线| 亚洲精品欧美激情| 亚洲欧洲一级| 久久久九九九九| 久久九九国产精品怡红院| 亚洲欧美日韩一区在线| 洋洋av久久久久久久一区| 亚洲精品国产精品国自产在线 | 9色国产精品| 欧美激情欧美狂野欧美精品| 久久精品视频播放| 一区二区欧美精品| 欧美日韩国产在线播放| 亚洲午夜精品久久久久久app| 欧美中文字幕视频| 欧美日韩高清免费| 亚洲欧美日韩直播| 欧美激情久久久久| 亚洲欧洲99久久| 亚洲专区在线视频| 农夫在线精品视频免费观看| 久久精品成人欧美大片古装| 欧美一区三区二区在线观看| 欧美在线综合视频| 免费观看在线综合色| 欧美成人亚洲成人| 亚洲精品久久久久久久久久久| 亚洲欧美电影在线观看| 久久九九热免费视频| 免费在线播放第一区高清av| 欧美日韩免费视频| 亚洲国产日韩欧美一区二区三区| 99在线精品观看| 久久久精品国产免大香伊 | 欧美欧美午夜aⅴ在线观看| 欧美精品少妇一区二区三区| 久久久久久网站| 国产精品视频九色porn| 影院欧美亚洲| 亚洲免费中文字幕| 亚洲欧美一区二区原创| 免费观看欧美在线视频的网站| 亚洲免费电影在线观看| 久久精品中文| 国产精品久久国产精品99gif| 在线观看日韩专区| 午夜亚洲视频| 欧美一级淫片播放口| 日韩视频免费在线观看| 久久久久网址| 国产精品网站一区| 亚洲欧美日韩专区| 亚洲精品日韩综合观看成人91| 欧美一区二区高清| 欧美视频国产精品| 亚洲一区二区三区四区中文| 另类亚洲自拍| 久久精品成人一区二区三区 | 欧美自拍丝袜亚洲| 亚洲人成在线观看| 久久久久久高潮国产精品视| 国产精品久久久久久五月尺| 亚洲女ⅴideoshd黑人| 91久久国产精品91久久性色| 久久免费精品日本久久中文字幕| 欧美丝袜一区二区| 欧美少妇一区二区| 亚洲一区激情| 亚洲一区二区精品| 国产精品久久久久999| 小辣椒精品导航| 久久天天躁夜夜躁狠狠躁2022| 亚洲第一精品福利| 亚洲毛片在线免费观看| 国产精品欧美在线| 另类激情亚洲| 欧美日韩国产高清| 久久精品噜噜噜成人av农村| 裸体一区二区| 亚洲综合色自拍一区| 久久成人18免费网站| 亚洲人成亚洲人成在线观看| 一本一本a久久| 精久久久久久久久久久| 亚洲精品日韩激情在线电影| 国产一区二区精品丝袜| 亚洲国产精品黑人久久久| 国产精品久久久久999| 久久综合一区二区| 欧美日韩专区| 欧美激情第10页| 国产视频观看一区| 亚洲美女av电影| 亚洲高清在线| 欧美亚洲尤物久久| 中文日韩在线| 久久在线视频在线| 亚洲男女自偷自拍图片另类| 免费久久精品视频| 欧美在线视频观看| 欧美日韩国产在线观看| 欧美成人免费观看| 国产亚洲欧美在线| 亚洲图片欧美日产| 日韩亚洲成人av在线| 久久青青草综合| 久久精品国亚洲| 国产老女人精品毛片久久| 亚洲三级视频| 亚洲精品精选| 免费日韩精品中文字幕视频在线| 欧美中文在线视频| 国产精品视频久久一区| 99国产精品国产精品毛片| 亚洲黄色免费网站| 久久久久久久网站| 久久一区二区三区四区五区| 国产日韩一区在线| 午夜影视日本亚洲欧洲精品| 9久草视频在线视频精品| 亚洲欧美日韩国产成人精品影院| 亚洲精品国精品久久99热| 久久精品视频在线播放| 性色av一区二区三区| 国产精品福利影院| 亚洲色在线视频| 亚洲影院在线观看| 欧美网站大全在线观看| 亚洲毛片网站| 亚洲男人的天堂在线aⅴ视频| 欧美精品激情blacked18| 亚洲国产精品999| 99热免费精品在线观看| 欧美日韩aaaaa| 亚洲美女视频网| 亚洲自拍另类| 国产精品永久免费观看| 欧美一级二级三级蜜桃| 欧美中文字幕| 18成人免费观看视频| 麻豆av福利av久久av| 欧美大片专区| 一本到12不卡视频在线dvd| 欧美日韩国产大片| 亚洲一区二区三区四区中文| 久久国产精品一区二区三区四区| 国产日韩精品一区二区| 久久久成人网| 亚洲日本欧美在线| 午夜精品影院| 亚洲东热激情| 欧美午夜精品一区二区三区| 亚洲欧美成人一区二区三区| 久久久久.com| 日韩一级片网址| 国产精品一区免费观看| 久久久久久久综合| 99av国产精品欲麻豆| 久久久久久精| 亚洲精品国产系列| 国产精品永久| 欧美成人免费小视频| 一本色道久久综合亚洲二区三区| 久久精品国产视频| 亚洲精品欧美在线| 国产毛片精品国产一区二区三区| 久久久精品日韩| 一二三区精品| 欧美第一黄网免费网站| 亚洲一本视频| 亚洲经典视频在线观看| 国产精品久久久久久亚洲调教| 久久久综合精品| 一区二区三区欧美在线| 欧美顶级大胆免费视频| 亚洲免费影视| 亚洲最新视频在线| 激情亚洲一区二区三区四区| 欧美色另类天堂2015| 欧美v国产在线一区二区三区| 亚洲一区二区三区涩| 亚洲欧洲在线看| 久久综合久久久久88| 香蕉久久一区二区不卡无毒影院| 亚洲国产精品v| 国内精品一区二区| 国产欧美精品一区二区色综合| 欧美猛交免费看| 免费一级欧美片在线播放| 久久久精品性| 久久久精品视频成人| 伊人久久噜噜噜躁狠狠躁|