首页 > 代码库 > 成员函数指针和指向静态成员函数的指针
成员函数指针和指向静态成员函数的指针
#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(注意类型前面可以不加&也可以加)
本文出自 “12208412” 博客,请务必保留此出处http://12218412.blog.51cto.com/12208412/1866470
成员函数指针和指向静态成员函数的指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。