首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
admin
2013-02-27
53
问题
有如下的运算符重载函数定义: 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全国计算机二级
相关试题推荐
若变量已经定义且正确赋值,则针对程序段:temp=a;a=b;b=temp;以下叙述中正确的是()。
计算机能直接执行的程序是()。
有下列程序 #include<stdio.h> main() {FILE*fp; inti,a[6]={1,2,3,4,5,6}; fp=fopen("d.dat","w+b"); for(i=5;i>=0;i--)
有如下形式的函数 intfun(inta[4][5],int*p[10],intn) {……} 调用函数之前需要对函数进行说明,即所谓的函数向前引用说明,以下对fun函数说明正确的是()。
请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素的平均值的平方根之和。例如,若给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,则输出应为s=35.951014。注
下列给定程序中,通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改
下列给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#include<s
有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为()。
软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。下面各项中属于应用软件的是()。
假定已建立以下链表结构,且指针p和q已指向如图所示的节点。 则下列选项中可将q所指节点从链表中删除并释放该节点的语句组是()。
随机试题
正常左心房连接的静脉,以下描述最完整的是
A.ESBLsB.MRSC.HLARD.VREE.PRP庆大霉素和链霉素用于检测
在非洲引起回归热的病原体是在中国引起回归热的病原体是
高温施工混凝土配合比设计的原则是()用量。
在建设工程工程量清单的各个组成部分中,投标人不得随意更改或调整______。
下列不属于基金管理人的信息披露义务的是()。
习近平主席指出,建设一支________________的人民军队是党在新形势下的强军目标。
设置会计科目的合法性原则是指所设置的会汁科目应当符合国家统一的会计制度的规定。()
简述六朝时期的侨州郡县。
革命根据地时期,工农民主政权制定的最重要的土地法是()
最新回复
(
0
)