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