C++类成员函数指针

来源:互联网 发布:雷蛇 知乎 编辑:程序博客网 时间:2024/06/14 00:35

#include<iostream>

自定义类型,包含两种不同的成员函数:

class MyTest

{

public:

MyTest(int a): data(a) {};

int get(){ return data;}

void set(int a){ data = a; }

private:

int data;

};

 

定义指向该 类型成员函数 的 函数指针 类型(注意格式!):

typedefint (MyTest::*GETPOINT)(void);

typedefvoid (MyTest::*SETPOINT)(int);

 

在主函数中,根据上面定义的函数指针类型,定义该类型的数据对象,并对其进行解引用。

int main()

{

GETPOINT pGet = &MyTest::get;

SETPOINT pSet = &MyTest::set;

MyTest mObj(5);

std::cout << (mObj.*pGet)() << std::endl;

(mObj.*pSet)(100);

std::cout << (mObj.*pGet)() << std::endl;

return 0;

}

 

 

原创粉丝点击