C 基類與子類 函式指標的定義和轉換

2021-10-06 02:12:59 字數 519 閱讀 9013

定義乙個類,作為基類

twindow :public cwnd

定義乙個字類

class tform :public twindow

void onbuttonclicked()  ;

定義乙個函式指標

typef void(twindow::*functionptr)() ; 

使用這個指標

functionptr fun = (functionptr) & tform::onbuttonclicked ; 

訊息對應的函式都寫在子類中,理想的效果是這樣的:

button btn1 ; 

btn.onclicked = fun ;  

btn.text = '我是按鈕塞';

btn.font.color = red ; 

btn.font.name = '宋體' ;

btn.x = 100 ; 

btn.y = 100 ; 

btn.size = size(100,30);

談談基類與子類的this指標(C )

引入定義乙個類的物件,首先系統已經給這個物件分配了空間,然後會呼叫建構函式 說明 假設存在建構函式 乙個類有多個物件,當程式中呼叫物件的某個函式時,有可能要訪問到這個物件的成員變數。而對於同乙個類的每乙個物件,都是共享同乙份類函式。物件有單獨的變數,但是沒有單獨的函式,所以當呼叫函式時,系統必須讓函...

c 基類指標,子類指標,多型

基類指標和子類指標之間的相互賦值 1 將子類指標賦值給基類指標時,不需要進行強制型別轉換,c 編譯器將自動進行型別轉換。因為子類物件也是乙個基類物件。2 將基類指標賦值給子類指標時,需要進行強制型別轉換,c 編譯器將不自動進行型別轉換。因為基類物件不是乙個子類物件。子類物件的自增部分是基類不具有的。...

基類指標指向子類物件時的函式呼叫判斷

以下用來學習基類指標指向子類物件時的情況 即base pb new derived 分析其建立過程 1.new乙個子類物件,為其生成乙個指向該種子類虛函式表vtable的指標vptr,指向derived func 2.建立乙個基類指標指向它,基類沒有的成員變數將無法通過該指標解引用後呼叫,但vptr...