首页 > 代码库 > 函数指针
函数指针
用了一个小时研究了一下:C++函数指针在主函数和类成员函数中的使用。
代码如下:
// FuncPointer.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <cstdio> #include <cstring> using namespace std; class AClass{ public: bool isEven(int n){ if(n & 1) return true; return false; } void interfaceFunc(){ //函数指针如果要指向类的成员函数必须要和类的方法绑定&声明为类成员函数指针 bool (AClass::*func)(int) = &AClass::isEven; AClass *a = new AClass(); //cout<<(a.*func)(1)<<endl; a 不是指针对象时候的调用方式 solveFunc(&AClass::isEven, a);//将类的成员函数地址与类实例一起传给接收函数 } void solveFunc(bool (AClass::*func)(int), AClass *p){ if((p->*func)(1)){//指针型类实例调用类成员函数指针的方式 cout<<"solveFunc 1"<<endl; } } }; void funcA(int n){ cout<<"funcA :"<<n<<endl; } int _tmain(int argc, _TCHAR* argv[]) { //指向普通函数的函数指针 void (*func)(int) = &funcA; (*func)(1); //指向类成员函数的函数指针 AClass a; a.interfaceFunc(); system("pause"); return 0; }
函数指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。