虚拟成员函数
成员函数
Virtual Member Functions
每个声明了虚函数或者继承了有虚函数的类,都会有一个自己的vtbl。同时该类的每个对象都会包含一个vptr去指向该vtbl。虚函数按照其声明顺序放于 vtbl 表中, vtbl 数组中的每一个元素对应一个函数指针。如果子类覆盖了父类的虚函数,将被放到了虚表中原来父类虚函数的位置。
如果 normalize()是一个 virtual member function,那么调用:ptr->normalize();
实际上会被编译器转化为:(*ptr
原创
2021-07-19 22:09:49 ·
221 阅读 ·
0 评论