首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
admin
2013-02-27
54
问题
有如下的运算符重载函数定义: 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://www.kaotiyun.com/show/UqVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有()。
若想定义int型变量a,b,c,d并都赋值为1,以下写法中错误的是()。
有下列程序 #include<stdio.h> typedefstructstu{ charname[9]; chargender; intscore; }STU; voidf(STU*a) {
以下叙述中错误的是()。
下面结构体的定义语句中,错误的是()。
以下选项中,能用作用户标识符的是()。
下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值。t=1+1/2+1/3+1/4+…+1/m例如,若输入5,则应输出2.283333。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程
软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。下面各项中属于应用软件的是()。
在软件生产过程中,给出需求信息的是()。
随机试题
A.0.01B.2.58×10-4C.1D.10E.1001伦琴(R)等于多少库仑/千克(C/kg)
男性,62岁,5年来进行性排尿困难,无尿痛,无血尿,查体肛诊前列腺增大、质韧、表面光滑,初步诊断
一类风湿性关节炎患者,病程持续1年余,有对称性多关节肿痛,未经治疗,三大常规及肝肾功能检查正常,首选方案是
定标签订合同,应以()作为中标的合同价。
旅游法律行为的实质要件不包括()。
在文章层次中经常使用篇段合一式的是()。
下列不属于课外教育活动的是()
以下各项列举了我国常见气象灾害与其发生地区的对应关系,其中正确的一项是()。
Wemustfindawaytocutprices______reducingourprofitstoomuch.
()保付支票()管理费()指定银行()巡回信用证
最新回复
(
0
)