抽象基类 及 纯虚函数

抽象基类(abstract base class,ABC)
       从若干个类中抽象出它们的共性,将这些特性放到一个基类中。并且至少包含一个纯虚函数(pure virtual function)。当类声明中包含纯虚函数时,则不能创建该类的对象。

 

纯虚函数
   纯虚函数声明的结尾处为 = 0
class class_a
{
  private:
     ...
  public:
     virtual double Area()const = 0; //a pure virtual function
     ...
};

 

在原型中使用=0指出类是一个抽象基类,在类中可以不定义该函数。

  

      ABC描述的是至少使用一个纯虚函数的接口,从ABC派生出的类(具体类concrete)将根据派生类的具体特征,使用常规虚函数来实现这种接口。

 

使用ABC实施接口规则
      可以将ABC看做是一种必须实施的接口。ABC要求具体派生类覆盖其纯虚函数--迫使派生类遵循ABC所设置的接口规则。这种模型在基于组件的编程模式中很常见,在这种情况下,使用ABC使得组件设计人员能够制定“接口约定”,确保了从ABC派生的所有组件都至少支持ABC指定的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值