作者:CY雪HLGC | 来源:互联网 | 2022-12-10 12:34
我发现函数隐藏和重载之间没有任何区别.因为函数隐藏是派生类中存在的函数并隐藏了基类的功能.在这两个函数中具有相同的函数名称.重载:在派生类和基类中具有相同的名称但签名不同.
class A {
void print(int);
};
class B: public A {
void print(float);
};
它隐藏功能还是过载?
1> Some program..:
该函数B::print
隐藏父函数A::print
.
如果你想重载,你需要将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
};