C 物件的靜態型別與動態型別

2021-06-27 10:44:53 字數 483 閱讀 5643

在c++當中:因為出現了繼承:

繼承導致物件的指標和引用具有兩種不同的型別: 靜態型別 和 動態型別 。

靜態型別 :指標或者是引用宣告時的型別。

動態型別 :由他實際指向的型別確定。

class base

class derived:public base

base* base //base的靜態型別是 base*

= new derived;//base的動態型別是 derived*

derived* derived //derived的靜態型別是 derived*

= new derived;//derived的動態型別也是 derived*

base = derived;//base的靜態型別是一直是 base*

//但是它的動態型別指向了derived*

base& base2 = *derived;//base2的靜態型別是base,動態型別是derived

C 物件的靜態型別與動態型別

由於繼承導致物件的指標和引用具有兩種不同的型別 靜態型別和 動態型別。靜態型別 指標或者是引用宣告時的型別。動態型別 由他實際指向的型別確定。例如 gameobject pgo pgo靜態型別是 gameobject new spaceship 動態型別是 spaceship asterioid p...

C 物件的靜態型別和動態型別

由於繼承導致物件的指標和引用具有兩種不同的型別 靜態型別和動態型別。靜態型別 指標或者是引用宣告時的型別。動態型別 由實際指向的型別確定。gameobject pgo new spaceship pgo 靜態型別是 gameobject 動態型別是 spaceship asterioid pa ne...

靜態型別與動態型別

為了支援c 的多型性,才用了動態繫結和靜態繫結。理解他們的區別有助於更好的理解多型性,以及在程式設計的過程中避免犯錯誤,需要理解四個名詞 1 物件的靜態型別 物件在宣告時採用的型別。是在編譯期確定的。2 物件的動態型別 目前所指物件的型別。是在執行期決定的。物件的動態型別可以更改,但是靜態型別無法更...