首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostrealn> using namespace std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量 public: Goods(double
有如下程序: #include<iostrealn> using namespace std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量 public: Goods(double
admin
2021-02-22
94
问题
有如下程序:
#include<iostrealn>
using namespace std;
class Goods{//货物类
double unit_price;//单价
int quantity;//数量
public:
Goods(double u=0.0,int q=0):unit_price(u),quantity(q){}
double getPrice()const{return unit_price;}//返回单价
int getQuantity()const{return quantity;}//返回数量
//增加数量
Goods operator+(int q)const{return Goods(unit_price,quantity+q);}
};
//增加数量
Goods operator+(______________){return g+q;}
//输出货物信息
0stream&operator<<(ostream& oS,Goods g){
cout<<"单价:"<<g.getPrice()<<’,’<<"数量:"<<g.getQuantity()<<endl;
return os;
};
int main(){
Goods g(35.6,100);
cout<<g<<g+33<<25+g;
return0;
}
若运行后的输出结果是( )。
单价:35.6,数量:100
单价:35.6,数量:133
单价:35.6,数量:125
则程序中下划线处缺失部分应该是( )。
选项
A、Goods q,Goods g
B、Goods g,Goods q
C、int q,Goods g
D、Goods g,int q
答案
C
解析
题意中,Goods类的构造函数接收一个double参数u和一个整型参数q,并使用它们初始化两个成员变量:unit_price和quantity。两个普通常量成员函数:getPriee()常量函数和getQuantity()常量函数,分别返回unit_price和quantity的值;重载加号运算符成员函数接收一个整型q,将q的值加到quantity成员上;在类定义体外,还有一个重载输出运算符函数,它通过Goods对象的成员函数输出Goods对象的两个成员;main()函数中,首先构造Goods对象g,然后调用重载输出运算符函数输出g、g+33和25+g:输出g时,输出g的两个成员变量的值:单价:35.6,数量:100;返回值为引用的os对象;输出g+33时,由于第一运算数是Goods对象,所以调用Goods类中重载的加号运算符成员函数,将33累加到g的quantity成员中,再输出:单价:35.6,数量:133;返回值为引用的os对象;输出25+g时,由于第一运算数为整型,所以无法调用Goods类中的成员函数,需要使用外部定义的重载加号运算符函数,在函数体内再将第一运算数设置为g,可知,横线部分的第一个参数肯定是整型int,第二个参数是Goods类型,即int q,Goodsg。故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/H9fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于运算符函数的叙述中,错误的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类IntegerSet和主函数main的定义。一个IntegerSet对象就是一个整数的集合,其中包含0个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员
有如下类定义:classAA{inta;public:AA(intn=0):a(n){}};elasBB:publicAA{public:BB(intn)_____
软件设计中划分模块的一个准则是()。
请打开考生文件夹下的解决方案文件proj1,程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:Name:SmithAge:21ID:99999CourseNum:12Rec
已知类MyClass声明如下:classMyClass{intn;public:MyClass(intk):n(k){}intgetValue()const{returnn;}}
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
下面关于构造函数和析构函数的描述,错误的是()。
请打开考生文件夹下的解决方案文件proj3,本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.cpp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。屏幕上输出的正确结果应该是:Hel
下列符号中,正确的C++标识符是()。
随机试题
铸铁件用型砂芯砂以()的新硅砂为原砂。
蛋白质变性和DNA变性的共同点是
完全脱位牙不应保存于
医院向准予其注册的卫生行政部门报告的正确期限应是其医院未按规定报告并导致严重后果,卫生行政部门应对医院的行政负责人给予
患者,女性,32岁。发作性意识丧失伴四肢抽搐3年。今日凌晨发作后意识一直未恢复,伴四肢抽搐发作一次。根据病情判断为
在行政诉讼案件的审理中,下列有关是否可适用调解方式结案的说法,错误的是:( )
关于变、配电装置防火措施的检查内容说法错误的是()。
王先生计划5年后买房,为筹集首付款,每年年末存入10000元,年利率为5%,其5年后能筹集()。
加工一批零件,原计划每天加工15个,若干天可以完成。当完成加工任务的时,采用新技术。效率提高20%。结果,完成任务的时间提前10天,这批零件共有几个?
•ReadthetextbelowaboutdeathbyoverworkinJapan.•Inmostofthelines34-45thereisoneextraword.Itiseithergramma
最新回复
(
0
)