首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
40
问题
有如下程序:
#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.h>#include<string.h>voidmain(){char*p1=",hello",*p2="world!",str[
如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是______。
inc或整型此题考查的是指针的声明语句。在声明语句中,变量前加“”即声明为指针类型变量,题目中变量b定义的只是普通的整型变量,不是指针,所以应填入int或整型。
为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为
main函数中发生编译错误的语句是【 】。#include<iostream.h>classA{public:
定义一个具有10个元素的整型数组,应当使用语句是______。
若要把类B定义为类A的友元类,则应在类A的定义中加入语句______。
在长度为n的有序线性表中进行二分查找,需要的比较次数为【】。
下列关于getline()函数的描述中,错误的是()。
随机试题
高血压患者的饮食治疗中,应特别注意()。
记录患者健康状况的记录可以是文字形式,也可以是
首先记载水肿必须忌盐的古籍是
A.经常自汗不止B.睡时汗出,醒则汗止C.蒸蒸汗出D.头部热汗而黏E.半身汗出中焦湿热上蒸而汗出的特点是
某男,8岁。每晚遗尿,面白神疲,形体瘦小,舌淡嫩苔少,脉弱。辨证为
下列各项中,关于可供出售金融资产会计处理表述正确的有()。(2013年)
简述人格发展阶段理论的教育意义。
窗体上有一个名称为Text1的文本框,一个名称为Combo1的组合框。将文本框中的内容添加到组合框中所使用的命令是
若有定义:doublea,b,c;能正确给a,b,c输入数据的语句是()。
Shoppingforclothesisnotthesameexperienceforamanasitisforawoman.Amangoesshoppingbecauseheneedssomething.
最新回复
(
0
)