GeekBand第四周学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GeekBand第四周学习笔记相关的知识,希望对你有一定的参考价值。
vptr&vtbl
virtual point
每一个带有虚函数的对象都会包涵一个指向虚函数表的指针,子类会继承父类的虚函数,所以子类中也会有虚函数表
virtual table
虚函数表拥有一个或复数个虚函数指针,每一个虚函数指针指向实际函数地址,当子类重写了父类的虚函数,子类虚函数表中指向父类此虚函数的指针将会更改指向重写后函数的地址。
class A{ public: virtual void vfunc1(); virtual void vfunc2(); void func1(); void func2(); private: int m_data1, m_data2; }; class B :public A{ public: virtual void vfunc1(); void func2(); private: int m_data3; }; class C :public B{ public: virtual void vfunc1(); void func2(); private: int m_data1, m_data4; };
this point
以上是关于GeekBand第四周学习笔记的主要内容,如果未能解决你的问题,请参考以下文章