条款33:避免遮掩继承而来的名称
的类型,并不重要。即,只要名称相同就覆盖基类相应的成员,不管是类型,参数个
数,都无关紧要。派生类的作用域嵌套在基类的作用域内。
C++的继承关系的遮掩名称也并不管成员函数是纯虚函数,非纯虚函数或非虚函数
等。只和名称有关。
如果你真的需要用到基类的被名称遮掩的函数,可以使用using声明式,引入基类的
成员函数。
请记住:
· derived calsses内的名称会遮掩base classes内的名称。在public继承下从来没有人希
望如此。
· 为了让被遮掩的名称再见天日,可使用using声明式或转交函数
(forwarding function)。
本文探讨了C++中派生类如何无意间遮掩基类成员的问题,并提供了使用using声明式来解决名称遮掩的方法。

1288

被折叠的 条评论
为什么被折叠?



