<八>理解抽象类

抽象类和普通类有什么区别? 抽象类一般不用作抽象实体类型
一般把上面类设计为抽象类? 基类

定义抽象类的唯一目的, 就是去建立派生类. 我们在抽象类基础上要定义出功能各异的派生类, 再用这些派生类去建立对象.
凡是包含纯虚函数的类都是抽象类. 纯虚函数不用实现, 故不能被调用, 抽象类无法建立对象. 抽象类的作用是作为一个类簇的共同基类, 即为一个类簇提供一个公共接口.

许多好的面向对象的系统, 其层次结构的顶部是一个抽象类, 甚至顶部有好几层都是抽象类. 如果在抽象类所派生出的新类中对基类的所有纯虚数进行了定义.
那么这些函数就被赋予了具体的功能, 可以被调用. 这个派生类就不是抽象类, 而是可以用来定义对象的具体类 (concrete class).

如果在派生类中没有对所有纯函数进行定义, 则此派生类仍然是抽象类, 不能用来定义对象.

//拥有纯虚函数的类,叫抽象类
class Animal
{
  public:
     //纯虚函数
     virtual void bark()=0;
};

Animal a;//NO  抽象类不可以实例化对象了,但是可以定义指针和引用变量

原文链接: https://www.cnblogs.com/erichome/p/16931523.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    <八>理解抽象类

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/5068

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月4日 下午7:16
下一篇 2023年2月4日 下午7:17

相关推荐