MFC怎樣呼叫另乙個類的函式?

2021-06-20 10:16:01 字數 762 閱讀 9632

假如有類a,類b兩個類。如果想在b中呼叫a的成員函式,該怎麼辦呢?

方法一:

在類b的cpp檔案中包含a類的標頭檔案,然後在b的需要呼叫a的函式的函式中,新增

#include "a.h"

b::funcb()

由於類a的funca不是靜態(static)函式,所以在b中不能這樣呼叫

#include "a.h"

b::funcb()

會提示「illegal call of non-static member function」的錯誤。

方法二:

方法一是用的建立a的物件,然後由物件呼叫函式的方法。方法二是直接把類a的函式設定成靜態函式,這樣就不需要建立a類,而直接呼叫函式。方法是

在類a中把該函式加上static修飾,之後在b類的函式中

#include "a.h"

b::funcb()

這樣就可以直接呼叫函式了。

方法三:

用全域性指標的方法。

在類b的cpp檔案中包含a類,然後在所有類外部宣告a* pa;之後就可以在類b的函式中直接用pa->funca();除此之外,其他類,比如說,類c想呼叫類a的函式,只需要在類c的cpp檔案的外部宣告 extern a* pa;然後類c的成員函式也可以直接呼叫類a的函式了。

方法四:

看起來比較奇怪的乙個設定全域性變數的方法。比如說,想把b類設定成全域性變數,可以在b類外宣告乙個全域性變數g_pb,然後在構造完b類後,在b類的建構函式中令g_pb = this。這樣全域性就可以引用這個b類了。

MFC呼叫另乙個MFC程式並進行通訊

父程序標頭檔案定義 process information m pi handle m hread,m hwrite 父程序在需要呼叫子程序的地方 建立管道 security attributes sa sa.nlength sizeof security attributes sa.lpsecur...

呼叫另乙個Activity

1 建立主activity 注意通過權重來分配尺寸的方式 元件1 android layout width 0dp android layout weight 1 元件2 android layout width wrap content 2 在主類中指定onclick所對應的sendmessage...

C 類中乙個構造函式呼叫另乙個建構函式

class a a int aa,int bb,int cc 上面類中,已經有乙個建構函式,形參有兩個,我們又過載乙個有3個形參的建構函式,為了減少 量,就想著讓3個引數的構造函式呼叫2個引數的建構函式,然後在執行一些自己的 這就如同派生類先呼叫基類的同名函式,在執行自己特有的 這種機制如何實現呢?...