教科书摘录:
Anytime we redefine an overloaded function name from the base class, all the other versions are automatically hidden in the derived class.
我明白了。但是,这背后的原因是什么。还是他们就是这样设计 C++ 的?
最佳答案
这是为了避免意外地提供对您不打算调用的基类方法的访问/调用。如果您明确希望同时提供基类方法,该语言将使用 using Base::function_name;
提供该语法。或者,如果函数在功能上是正交的,则不要将它们命名为相同的东西。
关于c++ - 覆盖继承中的重载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29171600/