第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > C++:函数指针调用方法

C++:函数指针调用方法

时间:2023-02-28 20:41:33

相关推荐

C++:函数指针调用方法

函数指针调用普通函数

#include<iostream>using namespace std;void Show()//void(*)(){cout << "void _cdecl Show()" << endl;}typedef void(*PFUNC)();//类型重定义 函数指针int main(){cout << typeid(&Show).name()<< endl;PFUNC func = &Show;//func变量(*func)();//函数指针调用Showreturn 0;}

打印结果:

由void (__cdecl*)(void) 可知其类型

typedef void(*PFUNC)(); //类型重定义 PFUNC为函数指针

同理,函数指针调用类方法

#include<iostream>using namespace std;class CShow{public:void Show(){cout << "void _thiscall Show()" << endl;}};typedef void(CShow::*CPPFUNC)();int main(){CShow show;cout << typeid(&CShow::Show).name() << endl;CPPFUNC cppfunc = &CShow::Show;//cppfunc变量(show.*cppfunc)();//函数指针调用Showreturn 0;}

打印结果:

这里需要注意的是,类成员方法需依赖于对象的调用,所以需 CShow show; 先生成一个对象。

注意: .* 运算符 会出现在函数指针调用类成员方法时。

当然,也会有 ->*运算符,也会出现在函数指针调用类成员方法时。

int main(){CShow* pshow = new CShow();cout << typeid(&CShow::Show).name() << endl;CPPFUNC cppfunc = &CShow::Show;//cppfunc变量(pshow->*cppfunc)();return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。