簡體   English   中英

在C ++中為函數指針編寫setter和getter

[英]writing a setter and getter to function pointer in c++

我有帶有函數指針的pagePtr類,看起來像這樣

int (*FunPtr)(char*sz, unsigned int max_bytes, char* arg1, char* arg2, char* arg3,
char* arg4);//Function definition

我在構造函數中這樣初始化它

pagePtr::pagePtr() : FunPtr(Null)
{
}

現在我寫給二傳手這樣的東西,如果正確的話,我不知道

void pagePtr::setFunPtr(int(*ptr2Fun)(char*sz, unsigned int max_bytes,
char* arg1, char* arg2, char* arg3, char* arg4))
{
    FunPtr = ptr2Fun;
}

我不知道如何寫一個吸氣劑(如果我做錯了,就去塞特)。 有什么建議么?

typedef int (*FunPtr)(char*sz, unsigned int max_bytes, char* arg1, char* arg2, char* arg3,char* arg4);//Function definition   // magic word!

void pagePtr::setFunPtr(FunPtr func){m_func = func;} //so clean!!!
FunPtr getFunPtr(){return m_func;}

在這種情況下,請始終使用typedef來使每個人的生活變得更加輕松。

將變量定義為FunPtr m_func

為了完整起見,實際語法為

int (*pagePtr::getFunPtr())(char*, unsigned int, char*, char*, char*, char*)
{
    return FunPtr;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM