首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
有如下的运算符重载函数定义: double operator +(int i,int k){return double(i+k);} 但定义有错误,对这个错误最准确的描述是
admin
2013-02-27
47
问题
有如下的运算符重载函数定义: 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全国计算机二级
相关试题推荐
下列叙述中正确的是()。
若想定义int型变量a,b,c,d并都赋值为1,以下写法中错误的是()。
以下选项中关于C语言算术表达式的叙述中错误的是()。
设有定义:intk=0;,以下选项的4个表达式中与其他3个表达式的值不相同的是()。
以下说法错误的是()。
以下叙述中正确的是()。
以下叙述中错误的是()。
有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为()。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。
在一个单链表中,若p所指结点不是最后结点,则删除p所指结点的后继结点的正确操作是______。
随机试题
蛭形巨吻棘头虫在猪体内的寄生部位是()
不能独立发挥生产能力或效益,但具有独立施工条件并能形成独立使用功能的单元为()
客户维持担保比例不得低于()。当该比例低于此比例时,证券公司应当通知客户在约定的期限内追加担保物。该期限不得超过()个交易日。客户追加担保物后的维持担保比例不得低于()。
下列关于民事权利的表述中,错误的是()。
2009年年末我国广义货币供应量余额为60.6亿元,比上年年末增长27.7%.狭义货币供应量余额为22.0万亿元,比上年末增长32.4%,流通中现金余额为3.8万亿元.比上年年末增长11.8%。2009年年末全部金融机构本外币各项存款余额61.2万亿元.
以美国教育家杜威为代表的现代教育学流派倡导的“三中心”是()。
握手:礼仪
下列选项中属于国务院职能范围的是()。
地板:地毯:美化
Writeanessaybasedonthecharts.Inyourwriting,youshould1)interpretthecharts,and2)giveyourcomments.
最新回复
(
0
)