问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

成员函数指针的简单例子

发布网友 发布时间:2022-06-05 20:00

我来回答

1个回答

热心网友 时间:2022-07-12 04:04

#include <stdio.h>
class CFuncPointer;
typedef void (CFuncPointer:: *pcfunc)(int,int);
typedef void (*pcstaticfunc)(int,int);
class CFuncPointer
{
public:
void Bind(pcfunc func)
{
m_runFunc = func;
}
void BindStatic(pcstaticfunc func)
{
m_staticFunc = func;
}
void pa(int x, int y)
{
printf(<CFuncPointer>[pa_]%d, %d\n, x, y);
}
void pb(int x, int y)
{
printf(<CFuncPointer>[pb__]%d, %d\n, x, y);
}
void pc(int x, int y)
{
printf(<CFuncPointer>[pc___]%d, %d\n, x, y);
}
static void pstatica(int x, int y)
{
printf(<CFuncPointer>[statica_]%d, %d\n, x, y);
}
static void pstaticb(int x, int y)
{
printf(<CFuncPointer>[staticb__]%d, %d\n, x, y);
}
void worker()
{
(this->*m_runFunc)(1, 2);
}
void sworker()
{
(*m_staticFunc)(1, 2);
}
private:
pcfunc m_runFunc;
pcstaticfunc m_staticFunc;
};
int main(int argc, char* argv[])
{
CFuncPointer *pclPoint=new CFuncPointer();
pclPoint->Bind(&CFuncPointer::pa);
pclPoint->worker();
pclPoint->Bind(&CFuncPointer::pb);
pclPoint->worker();
pclPoint->Bind(&CFuncPointer::pc);
pclPoint->worker();
pclPoint->BindStatic(CFuncPointer::pstatica);
pclPoint->sworker();
pclPoint->BindStatic(CFuncPointer::pstaticb);
pclPoint->sworker();
delete pclPoint;
return 0;
}
输出结果:
<CFuncPointer>[pa_]1, 2
<CFuncPointer>[pb__]1, 2
<CFuncPointer>[pc___]1, 2
<CFuncPointer>[statica_]1, 2
<CFuncPointer>[staticb__]1, 2

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 C++成员函数指针 使用床上电脑桌会给身体带来哪些伤害 求专门放在床上的电脑桌 这个可以躺着玩的电脑椅叫什么?哪能买到? 懒人桌之最,懒癌晚期的你值得拥有 哪个菊花的品牌比较好?能推荐下不 我国那个地方的菊花最好? 和平精英录屏开麦就录不进去自己的声音怎么办? ...都有声音,声音也拉满了,玩和平精英的时候就没有声音了。怎么办... ...一笔但还没还清,在额度范围内如果再借一笔的话,以后还款怎么还... 小红和小明共用88元钱买了9盒糖,小红买4盒牛奶糖,小明买5盒水果糖... 箱子里一共有88个红球和黄球其中红黄球的比是4:7红黄球各有多少个? 贵州湄窖莱比锡88红52度和55度区别 高效课时通九年级上语文的第一课《沁园春 雪》的答案 关于西湖的简单易背的四句古诗 毛泽东小时候有哪些写作特点 那个男人让我无法拒绝里管呈父亲是什么职业? 呈父亲翻译 呈父亲的写作背景 《七绝 呈父亲》毛泽东诗词 新人请问,怎么获取类成员函数的指针 如何使用指向类的成员函数的指针 如何从静态成员函数调用成员函数的指针 指向类中成员函数的指针 什么是成员函数指针?(C++) 指向类成员函数的指针 C++怎么在成员函数里调用指向成员函数的函数指针 怎样将成员函数指针强制转换成void*指针? c++:成员函数指针问题 通常理解的成员函数和this指针是什么? 谁有花生壳的图片教材! C++中关于类的成员函数指针的问题! 花生壳颗粒燃烧可结焦吗 花生壳做网站 不显示图片 怎样用指针调用成员函数 关于指向类中非静态成员函数的指针 C++中怎么获取类的成员函数的函数指针 指向类的成员函数的指针 c++ 模板 类成员函数指针的问题 花生壳怎么和我的网站连接