第51课.c++对象模型分析(下)

1.继承的对象模型

子类是由父类成员叠加子类新成员得到的(相当于在子类中开辟了一段内存来存储父类成员)

class Derived : public Demo
{
    int mk;
};

2.多态对象模型

多态是概念,虚函数是实现多态的方法

c++多态的实现原理

a.当类中声明虚函数时,编译器会在类中生成一个虚函数表
b.虚函数表是一个存储成员函数地址的数据结构
c.虚函数表是由编译器自动生成与维护的
d.virtual成员函数会被编译器放入虚函数表中
e.存在虚函数时,每个对象中都有一个指向虚函数表的指针(占类的内存空间)

图示



posted @ 2019-12-04 16:34  人民广场的二道贩子  阅读(159)  评论(0编辑  收藏  举报