C 型別轉換運算子過載

2021-08-31 02:33:45 字數 364 閱讀 3081

在c++中有乙個特殊的運算子過載方法--型別轉換運算子過載,形如:operator type();

code

class cdemo

operator int()

private:

int _x;

int _y;

};code

int _tmain(int argc, _tchar* argv)

執行結果:10

即_x的值,int()對demo進行了隱式型別轉換。如果去除過載函式,則報error:二進位制「<<」: 沒有找到接受「cdemo」型別的右運算元的運算子(或沒有可接受的轉換).說明《在遇到無法接受的型別時,會努力找到使之執行

的轉換,直到失敗。

c 過載型別轉換運算子

型別轉換運算子 型別轉換運算子是類的一種特殊成員函式,負責將乙個類型別的值轉換成其他型別 乙個型別轉換函式必須是類的成員函式,不能有返回型別,形參列表也必須為空,通常是const的。operator type const class smallint 轉換源,為int型。可將算術型別轉換成small...

型別轉換 運算子過載

c 中沒有返回型別的函式有3個,建構函式 析構函式 型別轉換函式。operator const char const 如果是過載 的話,那應該寫成 const char operator const而上面所寫的那樣,而且即使是這樣寫那也不正確的,因為運算子過載中有幾個運算子的返回值是有格式的 約定 ...

C 運算子過載轉換運算子

為什麼需要轉換運算子?大家知道對於內建型別的資料我們可以通過強制轉換符的使用來轉換資料,例如 int 2.1f 自定義類也是型別,那麼自定義類的物件在很多情況下也需要支援此操作,c 提供了轉換運算子過載函式 它使得自定義類物件的強轉換成為可能。轉換運算子的生命方式比較特別,方法如下 operator...