在C++中,指向类成员的指针可以用来访问类的成员函数和成员变量。下面是一些常见的用法示例:
class MyClass {
public:
void myFunction() {
cout << "Hello, World!" << endl;
}
};
int main() {
MyClass obj;
// 声明一个指向成员函数的指针
void (MyClass::*funcPtr)() = &MyClass::myFunction;
// 使用指针调用成员函数
(obj.*funcPtr)();
return 0;
}
class MyClass {
public:
int myVariable = 10;
};
int main() {
MyClass obj;
// 声明一个指向成员变量的指针
int MyClass::*varPtr = &MyClass::myVariable;
// 使用指针访问成员变量
cout << obj.*varPtr << endl;
return 0;
}
注意,指向成员函数的指针需要指定类的名称(如MyClass::*
),而指向成员变量的指针不需要指定。此外,指向成员函数的指针使用时需要通过对象指针(或引用)来调用,而指向成员变量的指针可以直接访问成员变量。