upcast:派生類轉換為基類
downcast:基類轉換為派生類
語法:dynamic_cast《待轉換型別》(待轉換資料)
class
base};
class
son:
public base
;int
main()
class
pass
;class
base};
...pass* pa=
new pass;
base* p=
dynamic_cast
>
(pa)
;//兩個沒有關聯的類指標,不允許轉換
語法:static_cast《待轉換型別》(待轉換資料)
int b=
static_cast
<
int>
(12.3);
//內建資料型別的轉換,允許
class
base};
class
son:
public base
;int
main()
class
pass
;class
base};
...pass* pa=
new pass;
base* p=
static_cast
>
(pa)
;//兩個沒有關聯的類指標,不允許轉換
語法:const_cast《待轉換型別》(待轉換資料)
const
char
* str=
"12345"
;char
* temp=
const_cast
<
char
*>
(str)
;//允許
語法:reinpreter_cast《待轉換型別》(待轉換資料) C 四種cast常用法
用法 static cast type id expression 1.用於類層次結構中基類和子類之間指標或引用的轉換。進行上行轉換 把子類的指標或引用轉換成基類表示 是安全的 進行下行轉換 把基類指標或引用轉換成子類表示 時,由於沒有動態型別檢查,所以是不安全的。2.用於基本資料型別之間的轉換,如...
C 四種cast轉換
c 中四種型別分別為 static cast dynamic cast const cast reinterpret cast 1.const cast 用於將const變數轉換為非const 2.static cast 用於各種隱式轉換,比如非const轉const,void 轉指標等,也可以用於...
C 中四種cast轉換
c 中四種型別轉換是 static cast,dynamic cast,const cast,reinterpret cast 1 static cast 用於各種隱式轉換,例如將非const轉換為const,void 轉指標 將void指標指向任意型別 等,用於多型向上轉化,如果向下轉能成功但是不...