1. 程式人生 > >c++中向上轉型和向下轉型,動態轉換,和靜態轉換詳解

c++中向上轉型和向下轉型,動態轉換,和靜態轉換詳解

子類轉換為父類:向上轉型,使用dynamic_cast<type_id>(expression),這種轉換相對來說比較安全不會有資料的丟失;

父類轉換為子類:向下轉型,可以使用強制轉換,這種轉換時不安全的,會導致資料的丟失,原因是父類的指標或者引用的記憶體中可能不包含子類的成員的記憶體。

動態轉換和靜態轉換,dynamic_cast<type_id>(expression),static_cast<type_id>(expression),表示的是將expression轉換為type_id型別資料,動態轉換一般是子類的指標或者引用轉換為父類的指標或者引用,靜態轉換常用用於數值資料型別的轉換。

參考一下連線:http://www.jb51.net/article/78145.htm