C++函數調用步驟

1、首先確定進行函數調用的對象、引用或指針的靜態類型;例:Base *p1 = new Derive;p1->fun()。靜態類型爲Base

2、在該類中查找函數,如果找不到,就在直接基類中查找,如此循環,直到找到該函數或者查找完最後一個類,如果不能在類或相關基類中找到該名字,則調用錯誤;例:上例中p1先在Derive類中找fun(),未找到的話則在Base類中找。

3、一旦找到該名字,就進行檢查,看調用是否合法。

4、如果合法,編譯器生成代碼,如果函數爲虛函數且通過引用或指針調用,則編譯器生成代碼以確定根據對象的動態類型運行哪個函數版本,否則,編譯器生成代碼調用函數。

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