抽象基类

来源:互联网 发布:菊池武夫 知乎 编辑:程序博客网 时间:2024/06/08 09:21

这里写图片描述
如果用户不小心定义了一个Dis_quote类的对象,并对该对象执行了pint_price()操作,则程序会追到基类Quote的成员函数net_price(),从而返回的是没有打过折扣的价格。我们在设计Dis_quote的时候仅是为了负责保存购买量的值和折扣值,为了各种派生折扣类服务的。为此我们可以将继承自Quote的虚函数net_price()在Dis_quote中设置为纯虚函数,C++中规定含有纯虚函数的类为抽象基类,抽象基类是不允许直接定义对象的,从而避免了用户的误操作。
how to do:纯虚函数的定义方法在函数体位置书写=0;例如:double net_price(std::size_t) const=0;
Tips:抽象基类的派生类默认依然抽象基类,所以在派生类中我们必须给出抽象基类中纯虚函数的自己的定义,否则它们仍然是抽象类。

0 0
原创粉丝点击