通過這個例子, 可以看出, 定義指針變量時只要使用 “強制轉換” , 就可以通過編譯, 注意賦值時候格式 “ & xxx :: FuncName “ , 就是取出函數跳轉地址, 這樣看來, 指針變量保存的
數據不過就是 函數跳轉地址, 使用void* 也可以做到, 但是 後者在調用時候就很麻煩, 要寫成 …..
調用時, 繼承類型的好處是 : 和父類一樣的調用方式. 沒有任何關係的類型, 就要寫成animal 的調用方式, 用 CPlant* 來強制轉換來通過編譯, 不要認爲這樣調用比上面兩個慢,
其實, 彙編結果都一樣, 如下