C++杂谈(对一些特性的总结和理解)
写给自己看的,不喜也勿喷。特别针对某些大佬,本人C++本来就不好,学习学习而已。
关于虚函数和虚析构函数的原理:
在实例化对象时,有虚函数的类会在内存开头另外多出一个virtual的空间,用来存放虚函数函数或者虚析构函数。如此,在用父类指针指向子类对象的时候,根据类继承特性,子类从父类继承过来的的virtual空间被覆盖,父类指针指向的也是子类的virtual空间了,如此便让函数执行的是子类的函数,而非父类的,所以就形成了多态。
但是虚函数和虚析构函数最好不要随时都写上,因为这会占用更大的内存空间,让程序运行时很吃内存,所以有利有弊,在合适的时候用是最好的。
虚析构函数 ———— 可以让子类调用析构函数(防止内存泄露)
接口类 ———— 仅含有纯虚函数(不能有数据成员)
RTTI ———— 运行时类型识别
路还长,学习的脚步怎能停歇 —— 致自己。
未完待续