首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2021-05-06
66
问题
有如下程序:
#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()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;}
//输出货物信息
ostream&operator<<(ostream&0s,Goods g){
cout<<"单价:"<
return os;
};
int main(){
Goods g(35.6,100);
cout<
return 0;
}
若运行后的输出结果是( )。
选项
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。两个普通常量成员函数:getPrice()常量函数和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,Goods g。故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/wFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于在调用模板函数时模板实参的使用,下列表述正确的是()。
下列叙述中正确的是
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)实现的功能是,如果字符串str里面有空格或者不可打印字符,则全部去掉,将转化后的字符串放在字符串des
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()函数中测试
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)把类CDistance定义为类CPoi
已知主函数中通过如下语句序列实现对函数模板swap的调用:inta[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是()。
有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为()。
数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
在软件开发中,需求分析阶段产生的主要文档是()。
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
随机试题
乳腺癌最常见的部位是乳房的
家庭资源理解不正确的是
6个月以后婴儿容易发生营养性缺铁性贫血的主要原因是
案例2006年4月11日23时20分,F钢铁公司转炉停炉检修结束后,该厂设备作业长指挥测试氧枪,不到2min的时间,约1685m3氧气从氧枪喷出后被吸入烟道排除,飘移近3000m到达烟道风机处。23时30分,检修烟道风机的1名钳工衣服被溅上气焊火花,全身
任何情况下,电动机的绝缘电阻不得低于每伏工作电压()Ω。
下列各项关于政府单位特定业务会计核算的一般原则中,正确的有()。
下列选项中,公共关系与人际关系存在的区别主要包括()等方面。
下列行为中,属于侵犯商业秘密的具体行为的是()
(2012年真题)根据我国商标法规定,注册商标的有效期为10年,其起算点为()。
模块化软件开发就是一种分离关注点(SeparationofConcerns)的手段,模块化应当遵循(30)的原则,提高模块的独立性。
最新回复
(
0
)