背后的理由是什么隐藏规则 in C++?
class A { void f(int); }
class B : public A { void f(double); } // B::f(int) is hidden
但这是不可能的。
那么,怎么会有隐藏规则呢?
这是一个棘手的问题,但显然这个想法是,这种隐藏功能有助于避免在更改基类时出现微妙的错误(否则可能会“窃取”之前由派生类处理的调用)。基类的更改仍然会影响派生类的编译结果,所以我认为我不能 100% 理解这个解释。
我同意这个话题被如此频繁地讨论,以至于隐藏实际上可能增加了 C++ 程序员的“惊喜”数量。
关于这个问题的详细讨论可以找到here...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)