在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::*
),而指向成员变量的指针不需要指定。此外,指向成员函数的指针使用时需要通过对象指针(或引用)来调用,而指向成员变量的指针可以直接访问成员变量。