深度探索C++对象模型学习笔记——Function语意学

C++支持三种类型的成员函数:静态,非静态、和虚函数

 

虚函数细节:
每个class有一个virtual table,内含该class之中有作用的virtual function地址,然后每个object有一个vptr,指向virtual table的所在。
对于虚函数ptr->z();的调用,需要知道如下两点:
1.ptr所指对象的真实类型,可使选择正确的z()实体;
2.z()实体位置

 

多重继承之下,一个derived class内含n-1个额外的virtual tables。

 

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