面向对象c++笔记3 继承基础填空

这篇博客是一个关于C++面向对象编程的练习,涉及继承基础。给出了一个Fruit基类,包括颜色、味道、重量和种类等属性,以及相关设置和获取方法。然后派生了Apple类,实现公有继承,并在主函数中创建Apple对象,进行属性设置并比较重量,输出最重的苹果及其重量。

继承基础填空

试题描述

   筷子兄弟说:“你是我的小呀小苹果儿,就像天边最美的云朵。春天又来到了花开满山坡,种下希望就会收获……”。涩琪也喜欢小苹果,为了观察大家对小苹果的喜爱程度,他特意写了下面的程序代码,看看大家能不能从水果类中成功派生出苹果类。请你填写下面空白吧! 
   ①    //必要的头文件等,可能为多条语句 
   ②    //基类Fruit类 

      ③    //保护成员 
      string color; //颜色 
      string flavor; //味道 
      float weight; //重量 
      string kind; //种类 

      ④    //公有成员 
         ⑤    //无参构造函数,函数体可以为空 

         ⑥    //设置种类SetKind()成员函数,一个string类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         ⑦    //设置颜色SetColor()成员函数,一个string类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         ⑧    //设置味道SetFlavor()成员函数,一个string类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         ⑨    //设置重量SetWeight()成员函数,一个float类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         ⑩    //返回重量常成员函数GetWeight(),函数无参数,返回值float类型,在函数体中将返回相应的数据成员 
}; 

   ⑪    //定义派生类Apple,公有继承方式 

      ⑫    //定义无参构造函数,并在其中调用基类SetKind("苹果")函数,将字符串"苹果"作为参数 
}; 

int main() 

      ⑬    //创建Apple类的对象a、b,并分别调用SetColor()、SetFlavor()函数。 

      ⑭    //输入两个float类型的数据x和y,调用相应函数将x和y的值赋给a、b对象的数据成员weight。 

   if (a.   ⑮    > b.   ⑯   
      cout << setiosflags(ios::fixed) << setprecision(2) << "最重为a苹果" << a.   ⑰    << "克" << endl; 
   else 
      cout << setiosflags(ios::fixed) << setprecision(2) << "最重为b苹果" << b.   ⑱    << "克" << endl; 
   return 0; 

   注意:1.请务必提交完整的程序代码,不要修改代码框架。2.请不要修改试题描述中的所有标识符,注意大小写敏感。

输入

   输入两个float范围的浮点数,用一个空格隔开。

输出

   输出最重的苹果以及其重量。输出要求小数点后必须保留2位有效数字(四舍五入),不足补零。

输入示例1

   233.26 300.4

输出示例1

   最重为b苹果300.40克

输入示例2

   433.257 300.4

输出示例2

   最重为a苹果433.26克

数据范围

   输入float范围的浮点数

 

 

代码:

#include<iostream>
#include<iomanip>

using namespace std;//必要的头文件等,可能为多条语句 
class Fruit//基类Fruit类 

      protected: //保护成员 
      string color; //颜色 
      string flavor; //味道 
      float weight;    //重量 
      string kind; //种类 

      public://公有成员 
         Fruit(){} //无参构造函数,函数体可以为空 

         void SetKind(string k)
         {
             kind=k;
         }//设置种类SetKind()成员函数,一个string类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

        void SetColor(string c)
        {
            color=c;
        }//设置颜色SetColor()成员函数,一个string类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         void SetFlavor(string f)
         {
             flavor=f;
         }//设置味道SetFlavor()成员函数,一个string类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         void SetWeight(float w)
         {
             weight=w;
         }//设置重量SetWeight()成员函数,一个float类型的参数,函数无返回值,在函数体中将参数赋给相应的数据成员 

         float GetWeight()
         {
             return weight;
         }//返回重量常成员函数GetWeight(),函数无参数,返回值float类型,在函数体中将返回相应的数据成员 
}; 

class Apple:public Fruit//定义派生类Apple,公有继承方式 
{   public:
    Apple()
    {
        SetKind("苹果"); 
    }//定义无参构造函数,并在其中调用基类SetKind("苹果")函数,将字符串"苹果"作为参数 
}; 

int main() 

    Apple a,b;
    a.SetColor("红");
    b.SetFlavor("甜");//创建Apple类的对象a、b,并分别调用SetColor()、SetFlavor()函数。 
      float x,y;
      cin>>x>>y;
      a.SetWeight(x);
      b.SetWeight(y);//输入两个float类型的数据x和y,调用相应函数将x和y的值赋给a、b对象的数据成员weight。 

   if (a.GetWeight()> b.GetWeight()   ) 
      cout << setiosflags(ios::fixed) << setprecision(2) << "最重为a苹果" << a. GetWeight() << "克" << endl; 
   else 
      cout << setiosflags(ios::fixed) << setprecision(2) << "最重为b苹果" << b. GetWeight()<< "克" << endl; 
   return 0; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值