c 類成員函式

2021-09-11 21:56:30 字數 589 閱讀 8092

靜態型別:表示式在編譯時型別是已知的,它是變數宣告時和表示式生成的型別;

動態型別:表達是表示式在記憶體中的型別;

如果表示式不是指標或引用,則它的靜態型別和動態型別永遠一樣。

/*person的靜態型別是person,它的動態型別可能是student,teacher...*/

string job=person.

job(

)

專案

普通函式

虛函式純虛函式

基類定義

void f()

virture void f()

virture void f()=0

子類定義

void f()

virture void f()

void f() override

virture void f()

void f() override

呼叫時機

編譯時執行時

執行時呼叫物件

靜態型別

動態型別

動態型別

是否可定義物件√×

×

c 類成員函式

c 的兩大特色是多型和模板。其中多型是通過繼承和虛函式來實現的,其中虛函式是通過每個物件裡面的虛表來實現的。如果這個物件的類有虛函式,那麼這個類就有一張虛表,存的是每個虛函式的入口位址,而這個類的每個物件,都會有乙個4位元組的指標,指向這張虛表,這個就是虛指標。上面一段話很多人都知道,但是如果問普通...

c 類成員函式

類成員函式是類的乙個成員,它可以操作類的任意物件,可以訪問物件中的所有成員。定義類box,使用成員函式來訪問類的成員,而不是直接訪問這些類的成員 class box class box double box getvolume void 在這裡,需要強調一點,在 運算子之前必須使用類名。呼叫成員函式...

C 類成員函式的儲存方式 C 類成員

對於類的大小,我們發現類內成員函式並不存在於類的儲存空間。這引發了我們的思考,類中的函式成員儲存在什麼地方?資料成員每個物件會有乙份,函式成員會不會也是這樣呢?include using namespace std class time private int hour int minute int...