C++ 纯虚方法

1、纯虚方法解决什么样的问题,为什么要设计出纯虚方法?
考虑下面的需求,基类声明了一个方法,这个方法只针对具体的子类才有意义,比如Animal的Eat()方法,调用Animal的Eat方法是没有意义的。比如Dog吃肉,Cat吃鱼,而Animal吃什么呢,没有意义。
2、既然Animal调用Eat没有意义,如何禁止Animal调用Eat方法呢?
不允许实例化出来Animal对象,Animal调用没有意义,要求子类必须重写。
3、virtual void Eat()=0; 使Animal成为抽象类,不能实例化Animal,同时要求子类必须重写。
4、需要注意的是,纯虚方法是可以提供实现的,子类也可以调用父类的纯虚方法。
5、在Java中,可以使用abstract指明一个类是抽象类。但是在C++中,要让一个类成为抽象类,需要声明一个或者多个纯虚方法。
6、继承的时候,父类不需要加class,如下:class Dog : public Animal

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值