首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespaee std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量
有如下程序: #include<iostream> using namespaee std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量
admin
2020-06-29
65
问题
有如下程序:
#include<iostream>
using namespaee std;
class Goods{//货物类
double unit_price;//单价
int quantity;//数量
public:
Goods(double u=0.0,int q=0):unit_price(u),quantity(q){ }
double getPrice( )eonst{return unit_price;}//返回单价
int getQuantity( )const{return quantity;}//返回数量
//增加数量
Goods operator+(int q)const {return Goods(unit_price,quantity+q);}
};
//增加数量
Goods operator+(__________){return g+q;}
//输出货物信息
ostream&operator<<(ostream& os,Goods g) {
cout<<"单价:"<<g.getPrice( )<<’,’<<"数量:"<<g.getQuantity( )<<end1;
return OS;
f;
int main( ) {
Goods g(35.6,100);
cout<<g<<g+33<<25+g;
return 0;
}
若运行后的输出结果是:
单价: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 g(35.6,100);定义了Goods类的对象g,通过构造函数可知单价unit_price赋值为35.6,数量quantity赋值为100,所以cout<<g使用重载的输出运算符<<输出结果为:
单价:35.6,数量:100
由于重载的输出运算符<<返回类型为ostream引用,所以继续输出g+33和25+g,对于程序中重载的加法运算符operator+(int q)const可知,将对象g与整数33相加时,重新构造一个新的对象,使用旧对象的单价unit_price初始化新对象的unit_price,使用旧对象的数量quantity与33相加初始化新对象的quantity,所以g+33输出结果为:
单价:35.6,数量:133
而整数25作为第一操作数执行25+g时,使用非成员重载运算符+,间接的调用g+25,所以题意中缺失部分应该将整数作为第一操作数,将类对象作为第二操作数,选项A、B、D错误,只有选项C正确,程序输出:单价:35.6,数量:125。本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/ii8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果为( )。 #include<iostream> using namespace std; void main(){ int a=1; switch(a){ case
模板是实现类属机制的一种工具,其功能非常强大,它既允许用户构造类属函数,即()。
以下有关成员函数特征的叙述不正确的是
有如下函数模板的定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func()的调用中,不正确的是()。
假定MyClass为一个类,则执行myClassa,b(2),*p;语句时,自动调用该类构造函数()次。
若要把类B定义为类A的友元类,则应在类A的定义中加入语句______。
在长度为n的有序线性表中进行二分查找,需要的比较次数为【】。
友元类的所有成员函数都是另一个类的【】。
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示个人基本信息的类PInfo,但类Plnfo的定义并不完整。请按要求完成下列操作,将类Plnfo的定义补充完成:(1)定义私有数据成员bloodType用于表示血型,血型为
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。(1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。(2)完成函数AddMember(intn),如
随机试题
《商标法》规定,对于商标违法行为,商标管理部门可以依照法律对注册的商标予以撤销。下列行为哪些是可处以撤销商标的商标违法行为?()
结构化面试又称___________。
计算x3dy—y3dx,其中L为x2+y2=a2顺时针方向.
男,58岁,发热1周,以后出现咳嗽,伴左胸痛,并有铁锈色痰。
细胞内液中主要的阳离子为
甲亢病人术前准备最重要的是
外包质量管理中的领发料管理的供料过程有()。
习近平总书记一直强调要把创新摆在国家发展全局的核心位置。在全国科技创新大会上,他提出应该赋予领衔专家一些权力,下列不属于他所说的赋予专家的权力的是:
Readthefollowingtextanddecidewhichanswerbestfitseachspace.Forquestions26-45,markoneletterA,B,CorDony
A、Alllanguageshaveequalvalues.B、Somelanguagesneedmoreeffortstolearn.C、Somelanguagesarecertainlymoreimportant.D
最新回复
(
0
)