是的,C++成员函数指针可以实现重载调用。成员函数指针可以指向特定类中的不同重载版本的成员函数,并且可以通过指针的调用来实现重载函数的调用。例如:
#include <iostream>
class MyClass {
public:
void func() {
std::cout << "func()" << std::endl;
}
void func(int x) {
std::cout << "func(int): " << x << std::endl;
}
};
int main() {
MyClass obj;
void (MyClass::*funcPtr1)() = &MyClass::func;
void (MyClass::*funcPtr2)(int) = &MyClass::func;
(obj.*funcPtr1)();
(obj.*funcPtr2)(10);
return 0;
}
在上面的例子中,我们定义了一个类MyClass
,其中包含了两个重载版本的成员函数func
。然后我们定义了两个成员函数指针funcPtr1
和funcPtr2
分别指向不同版本的func
函数。最后我们通过成员函数指针的调用来实现重载函数的调用。输出结果为:
func()
func(int): 10
因此,C++成员函数指针可以实现重载调用。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:C++成员函数指针怎么调用