首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
77
问题
有如下程序:
#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://www.kaotiyun.com/show/ii8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下述关于数据库系统的叙述中正确的是
模板是实现类属机制的一种工具,其功能非常强大,它既允许用户构造类属函数,即()。
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<endl;}};classA2:publicA1{
在C++语言的结构化程序设计中,【】是程序的基本组成单元;在C++语言的面向对象设计框架中,【】是程序的基本组成单元。
有如下函数模板的定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func()的调用中,不正确的是()。
为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为
定义一个具有10个元素的整型数组,应当使用语句是______。
假定MyClass为一个类,则执行myClassa,b(2),*p;语句时,自动调用该类构造函数()次。
下列关于getline()函数的描述中,错误的是()。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使函数fun()实现以下功能:找出一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?程序分析:在10万以内
随机试题
系统性红斑狼疮患者的典型病变为()。
局麻药物中属酯类麻药的是
往来寒热,胸胁苦满,嘿嘿不欲饮食,心烦喜呕,口苦,咽干,目眩,舌苔薄白,脉弦者,治疗宜用
一份完整的安全风险评估报告主要应该包括以下内容:工程概况、()、风险评估结论。
均质细杆AB重P、长2L,A端铰支,B端用绳系住,处于水平位置,如图所示。当B端绳突然剪断瞬时AB杆的角加速度的大小为()。
ABC公司2012年有关财务资料如下:公司2012年的销售收入为100000万元,销售净利率为10%,2012年分配的股利为5000万元,如果2013年保持经营效率、财务政策不变,预计不发行股票,假定2013年销售净利率仍为10%,公司采用的是固定股利
护照有效期即将届满或损毁不能使用的,护照持有人可以申请换发或补发护照。()
第三方物流成本之间存在着二律背反现象:减少仓库数量时,可降低仓储费用和运输费用。总的物流成本降低。()
“见者易,学者难”这句话强调的是()
阅读以下关于数据仓库方面的叙述,回答问题1,问题2和问题3。数据仓库概念始于20世纪80年代,首次在数据仓库之父WilliamH.Inmon的《建立数据仓库》一书中出现的。随着这几年对数据仓库的广泛研究,数据仓库的概念逐渐清晰。数据仓库是企业
最新回复
(
0
)