内存 - C++中,如果派生类的对象调用继承到的成员函数,编译器是在基类中还是在派生类中找被调用的函数?
迷茫
迷茫 2017-04-17 13:49:15
0
2
418

如果派生类的对象调用继承到的成员函数,编译器是在基类中还是在派生类中找被调用的函数。

所以继承是相当于复制了一遍代码到派生类中,还是名义上的继承,代码还是存储在基类当中?

初学C++,求解答。。谢谢。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
黄舟

程式碼就一份,編譯成了機器碼放在程式碼段裡,但是函數的位址是存放在虛表裡面的,呼叫的時候從虛表取出來函數的位址,然後call過去。

巴扎黑

從程式設計師角度來看,派生類別拷貝了一份函數過去,從編譯器角度,它們(非virtual 非static,非override)只存在一份,編譯後放在程式的唯讀區裡。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!