C++ 函数名字查找与继承基础知识讲解

C++ 函数名字查找与继承基础知识讲解

      理解C++中继承层次的关键在于理解如何确定函数调用。确定函数调用遵循以下四个步骤:
      A.首先确定进行函数调用的对象、引用或指针的静态类型;
      B.在该类中查找函数,如果找不到,就在直接基类中查找,如此循着类的继承链网上找,知道找到该函数或者查找完最后一个类。如果不能在类或其相关基类中找到该名字,则调用是错误的。
      C.一旦找到了该名字,就进行常规类型检查,查看如果给定找到的定义,该函数调用是否合法。
      D.假定函数调用合法,编译器就生成代码。如果函数是虚函数且通过引用或指针调用,则编译器生成代码以确定根据对象的动态类型运行哪个版本函数,否则,编译器生成代码直接调用函数。

你可能感兴趣的:(C++ 函数名字查找与继承基础知识讲解)