关键概念:名字查找与继承
2012-04-18 14:15
295 查看
关键概念:名字查找与继承
理解 C++ 中继承层次的关键在于理解如何确定函数调用。确定函数调用遵循以下四个步骤:
1. 首先确定进行函数调用的对象、引用或指针的静态类型。
2. 在该类中查找函数,如果找不到,就在直接基类中查找,如此循着类的继承链往上找,直到找到该函数或者查找完最后一个类。
如果不能在类或其相关基类中找到该名字,则调用是错误的。
3. 一旦找到了该名字,就进行常规类型检查,查看如果给定找到的定义,该函数调用是否合法。
4. 假定函数调用合法,编译器就生成代码。如果函数是虚函数且通过引用或指针调用,则编译器生成代码以确定根据对象的动态类型运行哪个函数版本,否则,编译器生成代码直接调用函数。
理解 C++ 中继承层次的关键在于理解如何确定函数调用。确定函数调用遵循以下四个步骤:
1. 首先确定进行函数调用的对象、引用或指针的静态类型。
2. 在该类中查找函数,如果找不到,就在直接基类中查找,如此循着类的继承链往上找,直到找到该函数或者查找完最后一个类。
如果不能在类或其相关基类中找到该名字,则调用是错误的。
3. 一旦找到了该名字,就进行常规类型检查,查看如果给定找到的定义,该函数调用是否合法。
4. 假定函数调用合法,编译器就生成代码。如果函数是虚函数且通过引用或指针调用,则编译器生成代码以确定根据对象的动态类型运行哪个函数版本,否则,编译器生成代码直接调用函数。
相关文章推荐
- C++中的关键概念:名字查找与继承
- 名字查找与继承(函数调用的确认)
- C++继承中的名字查找
- 【C/C++】关于C++的名字查找与继承
- C++之:函数调用的名字查找与继承
- 面向对象编程的几个关键概念继承、多态、组合
- 浅谈C++继承中的名字查找
- cpp——类——虚继承——作用域 名字查找
- 继承层次中 this,名字查找 导致的成员调用问题
- 名字查找与继承
- prism关键概念:
- 模板中的名字查找问题
- C++模板&二段式名字查找
- 「命名空间内部使用的名字的查找」与「类成员定义中使用的名字的查找」的区别
- 对封装、继承、多态概念的个人形象理解
- 破解之关键CALL与关键跳查找方法
- 关键路径的概念和算法
- 黑马程序员 OC------封装 继承 多态的基本概念
- 关键概念
- 十二.200多万元得到的创业教训--app名字是关键