C++成员函数指针能否实现重载调用
导读:是的,C++成员函数指针可以实现重载调用。成员函数指针可以指向特定类中的不同重载版本的成员函数,并且可以通过指针的调用来实现重载函数的调用。例如: #include <iostream> class MyClass { pub...
是的,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++成员函数指针可以实现重载调用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C++成员函数指针能否实现重载调用
本文地址: https://pptw.com/jishu/683299.html