C++支持三种类型的成员函数:静态,非静态、和虚函数
虚函数细节:
每个class有一个virtual table,内含该class之中有作用的virtual function地址,然后每个object有一个vptr,指向virtual table的所在。
对于虚函数ptr->z();的调用,需要知道如下两点:
1.ptr所指对象的真实类型,可使选择正确的z()实体;
2.z()实体位置
多重继承之下,一个derived class内含n-1个额外的virtual tables。
C++支持三种类型的成员函数:静态,非静态、和虚函数
虚函数细节:
每个class有一个virtual table,内含该class之中有作用的virtual function地址,然后每个object有一个vptr,指向virtual table的所在。
对于虚函数ptr->z();的调用,需要知道如下两点:
1.ptr所指对象的真实类型,可使选择正确的z()实体;
2.z()实体位置
多重继承之下,一个derived class内含n-1个额外的virtual tables。