類型別的強轉多型的指標

2021-10-01 18:48:12 字數 569 閱讀 5537

父類

public class person
子類

public class student extends person
測試類

​public class test {

public static void main(string args) {

person p =new student();

p.name="張三";

((student)p).school="北大";​

person 通過對student物件的引用,可以對student物件指向的棧中的位址(假設0x111111),這個變數是繼承來的,但是如果person想訪問student中的變數就要採用強制轉換,因為是由大到小訪問的,所以person又得到student中的另乙個指向棧中的位址(0x222222)這個位址是指向student內的scool變數

指標強轉的區別

最容易理解的解釋 dynamic cast 通常在基類和派生類之間轉換時使用 在類層次間進行上行轉換時,dynamic cast和static cast的效果是一樣的 在進行下行轉換時,dynamic cast具有型別檢查的功能,比static cast更安全。const cast 主要針對cons...

C語言 指標(二)指標型別的強轉

先來看一段 int main int n sizeof ar sizeof ar 0 int p ar for int i 0 i n i cout endl return 0 通過執行結果我們會發現輸出結果之間相差位址相差4,剛好符合了int的4個位元組,如果把int換成double char呢?...

C 筆記9 型別強轉 type cast

c 筆記9 型別強轉 type cast 宣告 本文件由王桂林老師編寫的c 課件,經整理而出。型別轉換有c風格的,當然還有c 風格的。c風格的轉換的格式很簡單 typeexpression 但是c風格的型別轉換有不少的缺點,有的時候用c風格的轉換是不合適的,因為它可以在任意型別之間轉換,比如你可以把...