2010-06-02 57 views
2

在C++社區中是否有這種類型轉換的名稱或術語? 有沒有人看到這種轉換被稱爲「隱式轉換」?這個轉換稱爲什麼?

class ALPHA{}; 

class BETA{ 
    public: 
     operator ALPHA(){return alpha;} 
    private: 
     ALPHA alpha; 
}; 

void func(ALPHA alpha){} 

int main(){ 
    BETA beta; 
    func(beta); 
    return 0; 
} 

回答

6

它通常被稱爲轉換函數。它本身不是隱式轉換,但允許隱式轉換爲目標類型。

編輯:只是檢查確定 - 標準的§12.3.2使用短語「轉換功能」。

EDIT2:我在正式標準,這是不檢查(至少應該是)免費提供的(儘管你可以從ISO或大多數成員的標準組織購買如ANSIBSI等)很多人喜歡省錢並使用免費的final committee draft

+0

你在哪裏檢查,你可以發佈鏈接? – LoudNPossiblyWrong 2010-06-02 15:09:47

1

這通常被稱爲轉換操作符

0

當調用func(beta)對象beta隱式轉換鍵入ALPHA。這是唯一可能的,因爲你已經實施了operator ALPHA()

相關問題