在C++中,指针成员运算符"->"和" ." 是用于访问指向类对象的指针成员的运算符。它们分别用于间接引用指针和引用类对象的成员。
当使用 "->*" 运算符时,左侧操作数是一个指向类对象的指针,右侧操作数是一个指向成员函数的指针。运算符的作用是通过指针调用指向的成员函数。例如:
class MyClass {
public:
void myFunction() {
// 函数实现
}
};
int main() {
MyClass obj;
MyClass* pObj = &obj;
void (MyClass::*pFunc)() = &MyClass::myFunction;
(pObj->*pFunc)(); // 使用指针调用成员函数
return 0;
}
当使用 " .*" 运算符时,左侧操作数是一个类对象的引用,右侧操作数是一个指向成员函数的指针。运算符的作用是通过引用调用指向的成员函数。例如:
class MyClass {
public:
void myFunction() {
// 函数实现
}
};
int main() {
MyClass obj;
MyClass* pObj = &obj;
void (MyClass::*pFunc)() = &MyClass::myFunction;
(obj.*pFunc)(); // 使用引用调用成员函数
return 0;
}
这两种运算符在C++中非常重要,尤其是在面向对象编程中。它们允许我们访问和调用类对象的成员,包括成员变量和成员函数。
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云