Problem D: 农夫果园(多态)

7 篇文章 0 订阅

 

 这是我第一次碰到多态类型的问题,说实话刚看到题的时候有点懵,不知道从哪里下手,其实说白了,多态就是“一个父亲多个儿子或者一个儿子多个父亲”,也就是继承的多了罢了,还有就是要注意在对子类进行构造时,要对父类进行再次声明,

#include <iostream>

using namespace std;

class Fruit

{

public:

    virtual void input() = 0;

    virtual double total()  const = 0;

public:

    Fruit( ) { }

protected:

    double uprice;

    int num;

};

class Apple : public Fruit

{

public:

    void input() {  cin >> uprice; cin >> num; }

    double total()  const { return uprice * num * 30; }

public:

    Apple( ) : Fruit() {  }

};

  

class Banana : public Fruit

{

public:

  void input() {  cin >> uprice; cin >> num; }

    double total()  const { return uprice * num * 25; }

public:

    Banana( ) : Fruit() {  }

};

这个题其实没用到具体的太多关于多态的语法,那我就来介绍一下虚函数virtual的用法吧:

这是我在别的大神那学来的,觉得学到了很多(原文连接:你了解c++中的关键字virtual吗?_放荡不羁笑点低233的博客-CSDN博客_virtual在c++中什么意思

                                                                                                      记录当下,我的编程之路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值