假如有類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個引數的建構函式,然後在執行一些自己的 這就如同派生類先呼叫基類的同名函式,在執行自己特有的 這種機制如何實現呢?...