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

隨筆-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 李陽 閱讀(1252) 評論(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>
            国产美女在线精品免费观看| 在线观看日韩专区| 中文av一区特黄| 亚洲精品欧美日韩专区| 欧美日韩一区二区在线播放| 中文精品99久久国产香蕉| 亚洲午夜av电影| 国产综合欧美| 毛片基地黄久久久久久天堂| 你懂的视频一区二区| 99精品国产在热久久婷婷| 一本色道久久综合亚洲精品高清| 国产精品第13页| 久久久.com| 男男成人高潮片免费网站| 亚洲天堂网站在线观看视频| 亚洲一区二区综合| 樱桃成人精品视频在线播放| 亚洲国产岛国毛片在线| 欧美日韩亚洲国产一区| 久久久久天天天天| 欧美激情一区二区三区成人| 亚洲欧美视频一区| 久久久久久夜| 亚洲欧美日韩天堂| 久久成人人人人精品欧| 亚洲美女在线一区| 欧美亚洲日本网站| 夜夜嗨av色综合久久久综合网| 在线综合亚洲欧美在线视频| 精品二区视频| 夜夜嗨av一区二区三区四季av| 狠狠色2019综合网| 一区二区毛片| 亚洲精品免费一二三区| 亚洲欧美另类国产| 亚洲理伦电影| 久久亚洲春色中文字幕| 亚洲欧美区自拍先锋| 欧美va天堂| 久久精品欧美日韩精品| 欧美日韩三级| 欧美高清不卡在线| 国产亚洲一级高清| 亚洲欧洲一区二区三区在线观看| 国产一区二区三区无遮挡| 91久久精品国产| 在线精品亚洲| 久久精品视频在线观看| 欧美一级精品大片| 国产精品国产a| 亚洲人成人99网站| 亚洲精品国产精品国产自| 欧美中文在线观看| 久久成人国产| 国产精品一区亚洲| 亚洲影音一区| 亚洲综合色激情五月| 欧美精品久久久久久久| 亚洲第一网站| 91久久久在线| 蜜臀久久99精品久久久久久9| 久久精品色图| 韩国精品在线观看| 久久精品一本| 女同性一区二区三区人了人一 | 亚洲精品影院在线观看| 亚洲国产日韩一区二区| 久久亚洲电影| 欧美激情91| 一区二区欧美国产| 欧美日韩一区二区免费视频| 亚洲精品欧美日韩专区| 一区二区三区四区五区视频 | 欧美中文字幕在线| 久久综合久久综合这里只有精品| 国产日韩欧美综合在线| 亚洲欧美日韩国产中文| 久久精品视频播放| 影音先锋在线一区| 免费欧美日韩| 日韩亚洲成人av在线| 亚洲欧美激情四射在线日 | 欧美极品一区二区三区| 亚洲国产三级网| 亚洲性感美女99在线| 国产精品老牛| 欧美综合国产精品久久丁香| 久久免费视频网| 亚洲理伦在线| 国产女人18毛片水18精品| 久久精彩免费视频| 亚洲激情av在线| 欧美尤物一区| 亚洲欧洲中文日韩久久av乱码| 欧美日本韩国一区二区三区| 国产精品99久久久久久人| 久久久久久**毛片大全| 亚洲欧洲一区二区在线观看| 欧美亚州韩日在线看免费版国语版| 亚洲综合视频一区| 欧美高清hd18日本| 性色av一区二区三区红粉影视| 在线观看亚洲一区| 国产精品第一页第二页第三页| 久久国产乱子精品免费女| 91久久精品国产| 久久久另类综合| 亚洲天堂偷拍| 亚洲国产精品国自产拍av秋霞 | 欧美一区亚洲一区| 亚洲高清二区| 久久久久一区二区三区四区| 日韩视频在线永久播放| 国产一区免费视频| 欧美色精品在线视频| 久久久久久久欧美精品| 亚洲一区二区三区免费观看| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美日韩高清在线观看| 欧美中文在线观看国产| 亚洲婷婷在线| 亚洲激情另类| 欧美成人精品不卡视频在线观看| 午夜电影亚洲| 亚洲午夜精品| 在线一区观看| 亚洲精品国产精品国自产观看| 好吊日精品视频| 国产欧美日韩综合一区在线播放| 欧美激情在线有限公司| 老司机免费视频一区二区三区| 亚洲欧美精品suv| 亚洲美女区一区| 亚洲激情网站免费观看| 欧美国产日韩一区| 欧美xart系列高清| 乱中年女人伦av一区二区| 久久国产精品第一页| 性做久久久久久免费观看欧美| 亚洲一区图片| 亚洲砖区区免费| 亚洲欧美视频在线观看| 亚洲一区综合| 欧美专区18| 久久激情综合网| 亚洲欧美国产日韩天堂区| 亚洲调教视频在线观看| 亚洲视频精品| 亚洲欧美日韩成人高清在线一区| 亚洲一区自拍| 欧美在线视屏| 久色成人在线| 欧美激情一二三区| 亚洲三级色网| 亚洲少妇自拍| 欧美一区二区日韩| 久久久综合视频| 欧美成人免费在线视频| 欧美日韩精品三区| 国产精品国产三级国产普通话蜜臀| 国产精品sm| 国产亚洲精品福利| 亚洲国产日韩欧美在线99 | 极品尤物av久久免费看| 亚洲第一网站| 一区二区av在线| 久久成人18免费观看| 久久这里只有| 亚洲人成7777| 亚洲欧美色婷婷| 久久综合电影| 欧美午夜视频在线| 国产一区二区三区四区五区美女| 在线精品视频一区二区三四| 999在线观看精品免费不卡网站| 亚洲婷婷综合色高清在线| 欧美诱惑福利视频| 亚洲国产成人在线视频| 亚洲一区国产精品| 老司机久久99久久精品播放免费| 欧美日韩ab片| 激情久久影院| 亚洲欧美日韩国产成人| 牛牛影视久久网| 亚洲一区中文| 欧美成人免费观看| 国产日韩欧美在线视频观看| 日韩一级二级三级| 久久久天天操| 在线亚洲伦理| 欧美激情91| 狠狠久久综合婷婷不卡| 亚洲欧美国产精品专区久久| 麻豆freexxxx性91精品| 亚洲四色影视在线观看| 欧美1区3d| 在线精品高清中文字幕| 久久精品日韩欧美| 亚洲线精品一区二区三区八戒|