首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
admin
2013-02-27
83
问题
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
选项
A、#NAME?
B、两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C、没有将运算符重载函数声明为某个类的友元
D、C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
答案
D
解析
此题考查的是运算符的重载。c++语言规定,不能作为非成员函数重载的运算符有=、[]、()、->以及所有的类型转换运算符,故选项A)错误;运算符重载对返回值类型没有限制,故选项B)错误;C++并不强制要求非成员重载的运算符一定是某个类的友元,所以选项C)错误:题目中重载的“+”运算符的两个参数都是int类型,而C++已经提供了求两个血型数据之和的运算符+,编译器无法区分应该调用哪一个,所以应该选择选项D)。
转载请注明原文地址:https://kaotiyun.com/show/peVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){intcase;floatprintF;printf("请输入2个数:");scanf("%d%f",&case,&printF):printf("%d%f\n",case,p
有如下语句:k=a>b?(b>c?1:0):0;,以下程序段中,与上述语句功能相同的是()。
以下叙述中正确的是()。
下列定义数组的语句中,正确的是()。
C语言的逻辑表达式在特定情况下会产生“短路”现象。若有如下逻辑表达式:x++&&y++;,则以下叙述中正确的是()。
以下对一维数组a的正确说明是()。
以下程序中,函数scrap的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址:#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)
关于new运算符的下列描述中,错误的是()。
按照逻辑结构分类,数据结构可分为线性结构和非线性结构,栈属于【】。
下列关于运算符重载的叙述中,正确的是()。
随机试题
学校教学过程是一种特殊的认识过程,主要表现为学生【】
神经性毒剂VX染毒时,清洗皮肤用
关于激光打印机优点的叙述,不正确的是
关于甲状腺功能亢进症的循环系统表:错误的是
正常妊娠12周末时,手测子宫底高度
药典规定取用量为“约”若干时,系指取用量不得超过规定量的( )。
巴塞尔新资本协议确定的三大支柱是资本充足率、监管部门监督检查和()。
A、 B、 C、 D、 C第一组的三个图形中依次有一个空白部分;第二组的三个图形也要符合此规律,C项正确。
highseas
ThehomelessmakeupagrowingpercentageofAmerica’spopulation.【C1】______,homelessnesshasreachedsuchproportionsthatlo
最新回复
(
0
)