gpt4 book ai didi

c++ - 函数隐藏和重载的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:39 26 4
gpt4 key购买 nike

我找不到函数隐藏和重载之间的任何区别。由于函数隐藏是派生类中存在的函数,隐藏了基类的函数。两者中的函数名称相同。重载:在派生类和基类中具有相同的名称但不同的签名。

class A {
void print(int);
};
class B: public A {
void print(float);
};

它是隐藏功能还是重载?

最佳答案

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
};

关于c++ - 函数隐藏和重载的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51400541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com