目录
目录
一、前言
C++的精髓是虚函数。虚函数带来的好处就是:可以定义一个基类的指针,其指向一个继承类,当通过基类的指针去调用函数时,
可以在运行时决定该调用基类的函数还是继承类的函数。虚函数是实现多态(动态绑定)/接口函数的基础。
可以说: 没有虚函数, C++将变得一无是处!
二、C++ 类对象的内存布局
要想知道C++对象的内存布局, 可以有多种方式, 比如:
- 输出成员变量的偏移, 通过offsetof宏来得到
- 通过调试器查看, 比如常用的VS
三、函数调用
- 如果不是虚函数, 直接调用指针对应的基本类的那个函数
- 如果是虚函数, 则查找虚函数表, 并进行后续的调用. 虚函数表在定义一个时, 编译器就为我们创建好了的. 所有的, 同一个类, 共用同一份虚函数表.(共享表,但是不是在同一块内存上)
版权声明:本文为qq_41687938原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。