C++函数调用步骤

1、首先确定进行函数调用的对象、引用或指针的静态类型;例:Base *p1 = new Derive;p1->fun()。静态类型为Base

2、在该类中查找函数,如果找不到,就在直接基类中查找,如此循环,直到找到该函数或者查找完最后一个类,如果不能在类或相关基类中找到该名字,则调用错误;例:上例中p1先在Derive类中找fun(),未找到的话则在Base类中找。

3、一旦找到该名字,就进行检查,看调用是否合法。

4、如果合法,编译器生成代码,如果函数为虚函数且通过引用或指针调用,则编译器生成代码以确定根据对象的动态类型运行哪个函数版本,否则,编译器生成代码调用函数。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章