c++ - 覆盖继承中的重载函数

标签 c++

教科书摘录:

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/

相关文章:

c++ - 如何简单地创建一个 ASN.1 DER 编码的 blob

c++ - C++段错误中的命令行参数

c++ - 为什么*everything* 在 ATL/WTL 中使用模板基类?

c++ - 没有参数的可变参数宏

c++ - 英特尔® TinyCrypt : how to use AES-128/CTR

C++ "error: expected unqualified-id before ' {' token"

c++ - 调用纯虚方法——交叉编译

c++ - 如何使用 Visual Studio 在 Windows 应用程序中设置图标

c++ - 修改为具有可配置数量的星星 "*"

c++ - tr1::reference_wrapper 有什么用?