c 類的動態型別和靜態型別

2021-09-02 19:01:59 字數 402 閱讀 9214

基類的指標或引用會根據執行時繫結的物件,動態的選擇是執行基類的虛函式還是派生類的虛函式。對於非虛函式的成員訪問,比如呼叫非虛成員函式,或訪問成員屬性,只能訪問指標或引用所指定的靜態型別(這裡指基類)的非虛成員,而不管動態型別是什麼。

也就是說多型是針對虛函式來說的。

以下是測試**:

//test for dynamic_cast

#include using namespace std;

class base

void p()

};class child : public base

void c()

};int main(void)

//test reference

}

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

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

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

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

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

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