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

2021-07-04 11:38:16 字數 605 閱讀 5019

由於繼承導致物件的指標和引用具有兩種不同的型別:

靜態型別

動態型別

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

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

例如:gameobject *pgo=

//pgo靜態型別是

gameobject *

new spaceship;

//動態型別是

spaceship*

asterioid *pa = new asterioid;

//pa的靜態型別是

asterioid *

//動態型別也是

asterioid *

pgo = pa;

//pgo靜態型別總指向

gameobject *

//動態型別指向了

asterioid *

gameobject &rgo = *pa;

//rgo的靜態型別是

gameobject

//動態型別是

asterioid

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

在c 當中 因為出現了繼承 繼承導致物件的指標和引用具有兩種不同的型別 靜態型別 和 動態型別 靜態型別 指標或者是引用宣告時的型別。動態型別 由他實際指向的型別確定。class base class derived public base base base base的靜態型別是 base new...

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

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

靜態型別與動態型別

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