我找不到函数隐藏和重载之间的任何区别。由于函数隐藏是派生类中存在的函数并隐藏基类的函数。两者的函数名称相同。
重载:派生类和基类具有相同的名称但不同的签名。
class A {
void print(int);
};
class B: public A {
void print(float);
};
它隐藏功能或重载吗?
功能B::print
hides父函数A::print
.
如果你想overload你需要拉入A::print
函数的范围B
:
class B : public A {
public:
using A::print; // Pull in (all) A::print symbols into the scope of B
void print(float); // Now overloads A::print
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)