C 之型別轉換

2021-09-08 18:05:52 字數 691 閱讀 5911

實現將a類的物件轉換為b類物件的方法有3種:(a類物件

方法一:如果a為基類,b為派生類,能夠將派生類的物件轉換基類的物件,如b b; a a=b;

方法二:在a類物件中定義轉換建構函式---->單形參建構函式(除掉預設形參)。並將b類物件作為形參,同一時候禁止使用explicit關鍵子,形如:a(b b,int i=1,int j=2)。

方法三:在b類中定義型別轉換函式,該轉換建構函式無返回值,可是一定要有return 語句,return的物件是a的物件,形如:operator a()

例項**例如以下:

#includeusing namespace std;

class c

;class a

a(c c,int i=1){cout<

測試結果例如以下:

參考資料:

[1]《c++primer 第4版》

[2]《王道:程式猿求職寶典》

C 之型別轉換

一 static cast型別轉換 static cast 應用於c 可以隱式轉換的型別之間,包括雙向隱式轉換和單向隱式轉換。例如 雙向隱式轉換 int a char b a static cast b 可以直接通過隱式轉換,轉換型別 a b b static cast a 可以直接通過隱式轉換,轉...

C 之型別轉換

1.發生型別轉換的時機 賦值運算,方法傳參。2.分類 1 根據轉換方法的不同 顯示轉換 explicit 隱式轉換 implicit 如果在 中明確指明了目標型別例稱之為顯示型別轉換如 int x int y,否則稱之為隱式型別轉換如 long y x。顯示和隱式轉換都可能失敗 顯示失敗,則丟擲執行...

c 之類型別轉換

資料型別轉換在程式編譯時或在程式執行實現 基本型別 基本型別 基本型別 類型別 類型別 類型別 類物件的型別轉換可由兩種方式說明 建構函式 轉換函式 稱為使用者定義的型別轉換或類型別轉換,有隱式呼叫和顯式呼叫方式 1 class x 2 7 void f x arg 8 9 x a x 1 a 1,...