C++类成员函数函数指针
时间: 2023-09-29 18:03:14 浏览: 106
C++中类成员函数指针是一个指向类成员函数的指针,它可以用来调用该类的成员函数。类成员函数指针的类型与类成员函数的类型有关,它包含两个部分:一个是成员函数的类型,另一个是成员函数所属的类的指针类型。
在C++中,类成员函数指针是通过使用运算符::来声明的。例如,假设有一个名为Foo的类,其中包含一个名为bar的成员函数,可以使用以下方式声明一个指向bar的成员函数指针:
```
void (Foo::*functionPtr)(); //声明一个指向Foo类的成员函数的指针
```
这里使用了void类型来表示bar函数的返回值,使用Foo::*来表示成员函数所属的类类型,使用functionPtr来表示指向bar函数的指针。
要调用指针所指向的成员函数,可以使用以下语法:
```
Foo obj;
(obj.*functionPtr)(); //调用obj对象的bar成员函数
```
在这里,使用obj.*来表示调用obj对象的成员函数指针,然后使用()来调用该函数。
需要注意的是,类成员函数指针与普通函数指针不同,因为它需要传递类对象的指针或引用作为参数,才能正确调用成员函数。因此,在使用类成员函数指针时,需要先创建类对象,并将其指针或引用传递给成员函数指针。
阅读全文