首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Complex { double re, im; public: Complex(dou
有如下程序: #include<iostream> using namespace std; class Complex { double re, im; public: Complex(dou
admin
2009-03-15
70
问题
有如下程序: #include<iostream> using namespace std; class Complex { double re, im; public: Complex(double r, double i): re(r), im(i) {} double real() const { return re; } double image() const { return im; } Complex& operator+= (Complex a) { re += a.re; im += a.im; return *this; } }; ostream& operator<<(ostream& s, const Complex& z) { remm s<<’(’<<z.real()<<’,’<<z.image()<<’)’; } int main() { Complex x(1,-2), y(2,3); cout<<(x+=y)<<endl; return 0; } 执行这个程序的输出结果是
选项
A、(1,-2)
B、(2,3)
C、(3,5)
D、(3,1)
答案
D
解析
本题考查了运算符重载的综合应用。解本题的关键是要弄明白cout<<(x+=y)<<endl;语句是怎么执行的。因为x和y都是Complex类的对象,而Complex类中已经重载了仁运算符,所以表达式x+=y就等价于x.operator+=(y)。该函数将y中的re、 im成员累加到x的对应成员之上,并返回x自身。故表达式(x+=y)返回的值是一个 Complex类对象,其内容为(3,1)。因为<<运算符的结合性是从左至右的,所以现在要计算的表达式是cout<<(x+=y),cout是C++语言中预定义的输出流类ostream的对象,所以<<运算符两边的分量类型正好符合上面<的重载函数,故其等价于函数调用operator<<(cout,(x+=y))。在<<的重载函数中输出结果是(3,1),最后函数返回并输出一个换行符endl,程序结束。故应该选择D。
转载请注明原文地址:https://kaotiyun.com/show/esjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有定义:inta,b;floatx,y;,则以下选项中对语句所作的注释叙述错误的是
有以下程序:#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b
请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-1。注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[
有以下程序:#include<stdio.h>main(){intk=-17;printf("%d,%0,%x\n",k,1-k,1-k);}程序的运行结果是()。
下列选项中,不能作为合法常量的是()。
给定程序中,函数fun的功能是:判断形参s所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。"回文"是正读和反读都一样的字符串(不区分大小写字母)。例如,LEVEL和Level是"回文",而LEVLEV
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
随机试题
什么是钢材的屈强比?它在工程设计中有何实际意义?
硅沉着病最易合并
阴茎癌淋巴转移睾丸肿瘤淋巴转移
下述哪项不是盆腔脓肿的特点
A、《赫尔辛基宣言》B、《夏威夷宣言》C、《希波克拉底誓言》D、《大医精诚》E、《纪念白求恩》第二个关于人体实验的伦理学文献是
半夏厚朴汤属于小陷胸汤属于
王主任现在有一个紧急通知需要传达给宿舍区内的2095人。如果用电话联系,一次可以通知1个人,需要1分钟;如果见面通知,一次可以通知130个人,需要7分钟。请问至少需要多少分钟才能把消息通知到所有人?
“世界上最远的距离,是我在你面前,而你在低头看手机。”这句网友的笑谈,无疑将现实生活中一个庞大而容易被忽视的群体一一“手机奴”,形容得__________。当科技日趋进步、手机功能日渐强大时,我们似乎在不知不觉中遭受裹挟,又在眨眼间心甘情愿地追逐更强大的“
小王使用Excel2010制作了一份“学生成绩统计表”,并且已经为该表创建了一张柱状分析图,制作完成后发现该表格缺少一个学生的成绩数据,现在需要将缺少的数据添加到分析图中,以下最佳的操作方法是()。
FrequentbusinesstravelerJoyceGioiaforgotmorethan$20000worthofjewelryinherhotelroominItalylastyear.Luckily
最新回复
(
0
)