C++ 多态原理初步01

在这里插入图片描述
当父类 Animal 的speak 前面加上 virtual 关键字之后,这个speak函数就变成了虚函数,Animal类结构发生了变化, 有了一个vfptr (虚函数指针),指向了vftable(虚函数表), 这个虚函数表里面有函数speak的实际地址, 当子类Cat继承了这个Animal类之后,Cat类内部结构 也会有 vfptr,也会指向一个vftable,如果Cat类重写了这个speak这个函数, 那么Cat类的那个 vftable表里面,记录的 函数地址就是 &Cat::speak的地址了
父类内部结构
子类的内部结构

发布了100 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43903378/article/details/103943109