首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量 public:
有如下程序: #include using namespace std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量 public:
admin
2020-12-21
42
问题
有如下程序:
#include
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()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.getPriee()<<‘,’<<"数量:”<<g.getQuantity()<<endl;
return OS;
};
int main(){
Goods g(35.6,100);
cout<<g<<g+33<<25+g;
return 0;
}
若运行后的输出结果是:
单价:35.6,数量:100
单价:35.6,数量:133
单价:35.6,数量:1:25
则程序中下划线处缺失部分应该是( )。
选项
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,i 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初始化新对象的unil_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/ppyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数模板: template<typename T,typename U> T cast(Uu){ return u;} 其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是
关于面向对象的程序设计方法,下列说法正确的是
有如下程序:#includeusingnamespacestd;classToy{public:Toy(char*_n){strcpy(name,_n);count++;}~Toy()}count--;}char*GetName(){r
执行语句序列 intn: cin>>n: switch(n) { casel: case2:cout<<’1’: case 3: case4:cout<<’2’: break: d
对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是( )。
下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的“<<left”,输出效果将发生变化的是
有如下类定义: class Test { public: Test(){a=0;c=0;} //① int f(int a)const {this->a=a;} //② static int g(
已知数组arr的定义如下:intarr[5]={1,2,3,4,5}、下列语句中输出结果不是2的是
有如下4个语句: ①count<<’A’<<setfill(’x’)<<left<<setw(7)<<’B’<<endl; ②count<<setfill(’x’)<<left<<setw(7)<<’A’<<’B’<<endl; ③cou
下列选项中不属于软件生命周期开发阶段任务的是
随机试题
A.脂肪坏死B.液化性坏死C.两者皆有D.两者皆无脾梗死常表现为
下列说法不正确的是
糖尿病患者大多数为
(2015年)在某合同纠纷中,中国当事方与甲国当事方协议选择适用乙国法,并诉至中国法院。关于该合同纠纷,下列哪些选项是正确的?()
常用的设计方案技术经济评价方法有多种,主要包括()。
关于施工现场对热熔连接焊接接头质量进行检验,下列说法正确的是()。
应用逻辑判断来确定每种可能的概率的方法适用于古典概率或先验概率。()
下列陈述中能体现货币政策作用的有()。
甲、乙、丙三人都把25克糖放人100克水中配成糖水。甲再加入0克浓度为20%的糖水;乙再加入20克糖和30克水;丙再加入糖与水的比为2:3的糖水100克。三人配成糖水中最甜的是:
Someimportantthingshavecome______,Ihavetotalkwiththemanager.
最新回复
(
0
)