#include <iostream> using namespace std; class Student{ public: Student(const string& name):m_name(name){} void who(void){ cout << m_name << endl; } string m_name; static int s_add(int a,int b){ return a+b; } }; int main(void){ //成员函数指针 void (Student::*pwho)(void) = &Student::who; Student s1("zhnangfei"); Student s2("zhaoyun"); (s1.*pwho)(); Student* ps = &s2; (ps->*pwho)(); //指向静态成员函数的指针 int (*padd)(int,int) = Student::s_add; //int (Student::*padd1)(int,int) = Student::s_add;错误的写法 cout << padd(100,200) << endl; return 0; } 成员函数的指针(即函数指针): 返回类型 (类名::*指针名)(形参类型) = &类名::成员函数名(注意类名前一定要加取地址符&,不然报错) 指向静态成员函数的指针(还是函数指针): 返回类型 (*指针名)(形参类型) = Student::s_add(注意类型前面可以不加&也可以加)
成员函数指针和指向静态成员函数的指针
精选 转载文章标签 c++ 成员函数指针 文章分类 C/C++ 后端开发
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++成员变量指针和成员函数指针
深度探索C++对象模型这本书还有提到C++类的成员变量指针和成员函数指针,虽然在实际开发中用的不多,但是还是
c++ #include 偏移量 静态成员 -
ios类的成员函数指针 类成员函数指针调用
类的成员函数指针和普通的函数指针 在C++中是完全两个不同的东西今天偶然需要找了点资料才发现这个问题,写一个简单的例子
ios类的成员函数指针 类的成员函数指针 成员函数指针 函数指针 操作符