【c++】-纯虚函数与抽象类

  • 定义
    • 纯虚函数:纯虚函数是一种特殊的虚函数,他在基类中声明但是不在基类中定义具体的操作
    • 抽象类:含有纯虚函数的类叫做抽象类,若派生类没有重写这一个纯虚函数,那么派生类也是抽象类

父类是形状,子类是正方形,形状中有一个纯虚函数“求面积”,这个纯虚函数在形状类中定义,但是不具体声明,而是令为0,在子类中才具体声明。

在虚函数表的表项中,纯虚函数所对应的表项为0,上图中的这个例子,从结构上来讲是这个样子的。

对于普通虚函数来说,子类虚函数表会在父类虚函数表的基础上进行覆盖。抽象类中纯虚函数对应的虚函数表项是0,而不是某一个地址,当在子类中被具体声明时才在虚函数表中获得地指项!


抽象类是不可以实例化的!

猜你喜欢

转载自blog.csdn.net/qq_39328436/article/details/113406016
今日推荐