首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有两个类:一是销售类(sale),用于表示按照一件商品的基本价格进行销售;另一个是打折销售类(DiscountSale),用于表示在基本价格基础上按一个折扣比例进行销售。DiscountSale类继承了sal
请打开考生文件夹下的解决方案文件proj2,其中有两个类:一是销售类(sale),用于表示按照一件商品的基本价格进行销售;另一个是打折销售类(DiscountSale),用于表示在基本价格基础上按一个折扣比例进行销售。DiscountSale类继承了sal
admin
2019-03-24
51
问题
请打开考生文件夹下的解决方案文件proj2,其中有两个类:一是销售类(sale),用于表示按照一件商品的基本价格进行销售;另一个是打折销售类(DiscountSale),用于表示在基本价格基础上按一个折扣比例进行销售。DiscountSale类继承了sale类。类的主要数据成员的含义和成员函数的功能要求在程序注释中有说明。请在程序中的横线处填写适当的代码,然后删除横线,完成程序的功能。此程序的正确输出结果应为:
Discount item is cheaper.
Saving is 0.1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。
#include
using namespace std;
Class Sale
{
public:
Sale();//默认构造函数,将price初始化为0
Sale(double the_price);
//构造函数,用the_price初始化price
virtual double bill()
const;//返回当前商品的价格(基本价)
double savings(const Sale&other)const;//返回参数other所引用的对象比当前对象便宜的差价
protected:
double price;//商品的基本价格(不打折的价格)
};
Sale::Sale():price(0){}
Sale::Sale(double the_price):
price(the_price){)
double Sale::bill()const
{
return price,
}
double Sale::savings(const Sale&other)const
{
//ERROR ******found******
____________;//返回当前对
象价格比other贵多少的差价
}
class DiscountSale:public
Sale//打折销售类继承销售类
{
public:
DiscountSale(),//默认构造函数,将discount初始化为0
DiscountSale(double the_price,double the_discount);//构造函数,the_price是基本价格;the_discount是折扣百分比
virtual double bill()const;//返回本商品销售价格(即打折以后的实际售价,覆盖了基类的biii函数)
protected:
double discount;//折扣百分比。例如降价至原价的70%,此成员值应为70
};
DiscountSale::DiscountSale():
discount(0){}
DiscountSale::DiscountSale
(double the_price,double the_
discount)
:Sale(the price),discount
(the discount){}
double DiscountSale::bill ( )
const
{
double fraction=discount/
100;
// ******found******
___________;//返回本对象打折以后的实际售价
}
bool operator<(const Sale&
first,const Sale&second)
{
// ******found******
___________;//判断是否
first价格低于second价格
}
int main()
{
Sale simple(10.00);
DiscountSale discount(11.00,90);
if(discount
{
cout<<"Discount item is
cheaper.\n";
// ******found******
//这里输出购买discount比购买simple节省多少钱
cout<<"Saving is"<<
____________<
)
else
cout<<"Discount item is
not cheaper.\n";
return 0;
}
选项
答案
(1)return this->bill() - other.bill() (2)return fraction*price (3)return first.bill()
解析
Sale类有一个数据成员:保护成员price,表示商品的价格;两个构造函数:默认构造函数Sale()将类成员price初始化为0,构造函数Sale(double the_price)将成员price初始化为the_price;两个成员函数:bill()函数是一个虚函数,返回price的值;savings()函数返回参数other所引用的对象比当前对象便宜的差价
DiscountSale类继承Sale类,它有两个数据成员:保护成员price继承于Sale类,表示商品价格,保护成员discount表示商品折扣百分比;两个成员函数:sayings()函数继承于Sale类;bill()函数继承Sale类并被改写。
main()函数中,首先构造两个类对象:Sale类对象simple和DiscountSale类对象discount,其中simple对象的price被赋值为lO.00;discount对象的price被赋值为11.00,成员discount被赋值为90,即折扣为90%
(1)if语句的条件中,将discount与simple进行比较,如果main()主数的discount小于simple,那么说明discount的实际价格比simple价格便宜;所以需要重载“<”运算符,题意中重载的“<”运算符函数接收两个Sale类对象的引用,通过对象的引用,比较两个对象的实际价格,所以重载“<”运算符函数体中,若first对象引用的商品实际价格小于second对象引用的商品实际价格,那么函数值返回true,可知函数体中需要补充的语句如下:
return first.bill()
(2)由于bill()是虚函数,且重载“<”运算符函数的参数是引用,所以调用bill()函数时,使用了多态机制,引用的对象是Sale类对象,调用Sale类中的hill()函数,引用的对象是DiscountSale类对象,那么将调用DiscountSale类的bill()函数,bill()函数体中,需要返回的是商品的实际价格,即折扣完的价格,所以需要将返回打过折的价格:DiscountSale类中。bill()函数体中需要补充的语句如下:
return fraction*price
(3)savings()函数需要计算当前对象比other引用的对象在价格上贵多少,所以savings()函数体中需要补充的语句如下:
return this->bill()-other.bill()
同样,this指针引用当前对象,other是引用对象,所以可以与bill()虚函数一起使用多态机制,获得当前对象和other对象的实际价格,再进行差值计算
(4)main()函数中,程序判断discount小于simple后,输出提示信息,再调用savings()函数输出discount和simple的差值,这里需要计算discount比simple节省多少钱,所以需要将simple当做当前对象,discount当做参数传入savings()函数,所以补充语句如下:
simple.savings(discount)
转载请注明原文地址:https://kaotiyun.com/show/hlAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有数组定义:chararray[]:”China”;则数组array所占的空间为()。
下列有关继承和派生的叙述中,正确的是
关于静态数据成员的描述中正确的是()。
以下对C++语言函数的有关描述中,正确的是
下列叙述中正确的是
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
数据管理技术发展过程经过了人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的阶段是______。
非成员函数必须声明为类的______才能访问这个类的private成员。
一问宿舍可住多个学生,则实体宿舍和学生之间的联系是
______是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
随机试题
比例原则是侦查的基本原则之一,其含义是指侦查权在侵犯公民权利时,必须在法律规定范围内选择侵害公民权利最小的方式。下列法条中,哪一条的规定充分体现了比例原则?()
幼女硬化性苔藓最常用的治疗是
局部红肿热痛,突起根浅,肿势局限,范围在3cm左右,易脓、易溃、易敛之病是()
A、KIRB、KARC、TCRD、MBLE、CEA可结合抗原的是
甲公司是一家上海证券交易所上市的有色金属公司。2009年,受全球金融危机影响,该公司亏损46.5亿元。再加上公司产品市场需求持续疲软,不断下降的产品价格与成本形成了严重倒挂,公司的前景进入最为艰难的时期。为此,甲公司选择出售旗下9家主业为铝加工的亏损子公司
根据《合伙企业法》的规定,普通合伙企业在下列事项中,应当由全体合伙人协商一致方能通过的有()。
劳动者与雇主之间存在的对立关系表现为劳动者与雇主之间有()。
奶奶有6颗口味各不相同的糖,现分给3个孙子,其中1人得1颗,1人得2颗,1人得3颗,则共有()种分法。
清人薛允升在《唐明律合编》中说:“贼盗及有关币帑钱粮等事,明律则又较唐律为重”;“大抵事关典礼及风俗教化等事,唐律均较明律为重。”请根据这段文字,分析说明《明律》在刑罚适用原则方面的特点。
请根据下图所示网络结构回答下列问题。如果将172.16.33.128/25划分3个子网,其中第一个子网能容纳35台主机,另外两个子网分别能容纳15台主机,第三个子网掩码为_______,可用的IP地址段为______。(注:IP地址段的起始地址和结束
最新回复
(
0
)