***************************************转载请注明出处:http://blog.youkuaiyun.com/lttree********************************************
六、继承与面向对象设计
Inheritance and Object-Oriented Design
条款33 : 避免遮掩继承而来的名称
rule 33 : Avoid hiding inherited names
1.关于名称,无关于继承,而关于和作用域有关
>1 local and global
int x; // global变量
void someFunc()
{
double x; // local变量
std::cin>>x; // 读一个值,赋给local变量
}
这个读取数据的语句指涉的是local变量x,而不是global变量x,因为内层作用域的名称会遮掩外围作用域的名称。

本文是《Effective C++》条款33的学习笔记,讲解了继承中如何避免遮掩继承而来的名称。通过作用域解析,讨论了在public和private继承下如何使用using声明式或转交函数来解决名称遮掩问题,强调了在继承设计中遵循is-a关系的重要性。
最低0.47元/天 解锁文章
796

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



