首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostrealn> using namespace std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量 public: Goods(double
有如下程序: #include<iostrealn> using namespace std; class Goods{//货物类 double unit_price;//单价 int quantity;//数量 public: Goods(double
admin
2021-02-22
61
问题
有如下程序:
#include<iostrealn>
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;}
//输出货物信息
0stream&operator<<(ostream& oS,Goods g){
cout<<"单价:"<<g.getPrice()<<’,’<<"数量:"<<g.getQuantity()<<endl;
return os;
};
int main(){
Goods g(35.6,100);
cout<<g<<g+33<<25+g;
return0;
}
若运行后的输出结果是( )。
单价: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类的构造函数接收一个double参数u和一个整型参数q,并使用它们初始化两个成员变量:unit_price和quantity。两个普通常量成员函数:getPriee()常量函数和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,Goodsg。故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/H9fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motorcycle类。要求将vehicle作为虚基
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:B->A->##
有如下类定义和变量定义:classA{public:A0{data=0;}~A(){}intGetData()const{returndata;}voidSetData(intn){da
下列关于派生类构造函数和析构函数的说法中,错误的是()。
若一个函数的原型为“int*Xfun1(intx,int&y,charz);”,则该函数的返回值类型为()。
语句ofstreamf("SALARY.DAT",iosbase::app);的功能是建立流对象f,并试图打开文件SALARY.DAT与f关联,而且()。
在软件生命周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是
下列叙述中正确的是
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
随机试题
简述门静脉系统与腔静脉系统的交通支。
下列不属于腺癌的是
下列不能加速酶促反应速度的因素是
施工招标中采用综合评分法评标,评定报价部分得分高低的评分标准可以采用( )。
需要办理施工许可证的建设工程,建设行政主管部门应在收到建设单位申请之日起的()日内,对符合条件的申请颁发施工许可证。
我国现行的统计法律规范的表现形式主要包括()。
银行业协会的()是行业自律管理的组织实施者。
在建设工程风险管理过程中,风险识别操作的起点是()。
既是课程设计与实施的终点,又是课程设计与实施继续向前发展的起点的是()。
SOXisanalternative(71)forXML.ItisusefulforreadingandcreatingXMLcontentina(72)editor.Itistheneasilytransf
最新回复
(
0
)