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第四周学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

[GeekBand] 设计模式之观察者模式学习笔记

第四周学习笔记

GeekBand第二三周学习笔记

GeekBand第一周学习笔记

GeekBand第二周学习笔记

C++面向对象高级编程(上) 第三周笔记 GeekBand