首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
admin
2013-02-27
75
问题
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
选项
A、+只能作为成员函数重载,而这里的+是作为非成员函数重载的
B、两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C、没有将运算符重载函数声明为某个类的友元
D、C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
答案
D
解析
本题考查的是运算符重载。在C++中,不能作为非成员函数重载的运算符只有=、[]、()、->以及所有的类型转换运算符,因此选项A不正确。运算符重载对于返回值的类型并没有限制,因此选项B也不正确。将运算符重载函数声明为某个类的友元的目的是方便该函数访问类的私有和保护成员,C++并不强制要求非成员重载的运算符一定是某个类的友元,因此选项C也不正确。运算符重载也是一种函数重载,两个重载的函数至少要在参数个数或参数类型上有所不同,否则C++编译器就无法区分它们。因此,题目中重载的+运算符的两个参数都是int类型,而C++已提供了求两个int型数据之和的运算符+,所以编译器无法区分应该调用哪一个,故会报错,所以应该选择D。
转载请注明原文地址:https://kaotiyun.com/show/UqVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
学生和课程的关系模式定义为: S(S#,Sn,Sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄); C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课); SC(S#,C#,G)(其属性分别学号、课程号和成绩)。 关
有三个关系R、S和T如下: 则由关系R和关系s得到关系T的操作是()。
表达式3.6-5/2+1.2+5%2的值是()。
请编写函数fun,其功能是:在一个含有11个四位数的数组中,统计出这些数的奇数、偶数个数,然后计算出个数多的那些数的算术平均值并由函数返回,个数通过yy传回。 例如,若11个数据为:1101,1202,1303,1404,1505,2611,2712,2
有下列程序 #include<stdio.h> #include<string.h> main() {chara[5][10]={"efg","abed","mnopq","hijkl","rstuvwxyz"}; char*p[5
采用表结构来表示数据及数据间联系的模型是()。
标准库函数fgets(str,n,fp)的功能是()。
以下选项中,能用作用户标识符的是()。
下列给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,……以此类推。例如,若N=5,生成的矩阵为:1111112221123
以下对软件测试描述错误的是()。
随机试题
会计凭证
前列腺癌好发于
四关穴是指
关于药物制剂稳定性的叙述中哪一条是错误的
注册建造师应当在其注册证书所注明的专业范围内从事建设工程施工管理活动,下列属于注册水利水电工程建造师执业工程范围的有()。
在合同法律关系中,客体不变,相应权利和义务不变,此时主体改变也称为()。
Recently,Istoppedbyaconveniencestoretogetanewspaperandabottleofdrink.Theyoungwomanatthecheck-outcountersa
简述公民民事行为能力的概念和特征。
下面的描述中,(3)不是RISC设计应遵循的设计原则。
Whatdidthemanhavetodointhemorning?
最新回复
(
0
)