首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的运算符重载函数定义: double operator +(int i,int k){ return double(i+k);} 但定义有错误,对这个错误最准确的描述是( )。
有如下的运算符重载函数定义: double operator +(int i,int k){ return double(i+k);} 但定义有错误,对这个错误最准确的描述是( )。
admin
2017-06-16
65
问题
有如下的运算符重载函数定义:
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选项错误:题目中重载的“+”运算符的两个参数都是int类型,而C++已经提供了求两个int型数据之和的运算符+,编译器无法区分应该调用哪一个,所以应该选择D选项。
转载请注明原文地址:https://kaotiyun.com/show/jmAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
派生类的构造函数的成员初始化列表中,不能包含( )。
执行下列语句序列: int i=0;while(i<25)i+=3;cout<<i; 输出结果是( )。
C++语言标识符是以字母或______开头的,由字母,数字和下划线组成的字符串。
要实现动态联编,必须通过()调用虚函数。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是______。#include<iostream>usingnamespacestd;class
应在下面程序下划线中填写的正确的语句是( )。 #include <iostream> using namespace std; class A{ public: void test(){cout<< "this i
下列函数原型声明中错误的是
关于类和对象描述错误的是
若有以下宏定义: # define N 2 # define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后的结果是
随机试题
目前动态心电图仪对心律失常的分析一般不包括
A.医疗机构B.疾病预防控制机构C.各级人民政府卫生行政部门D.卫生监督机构E.各级人民政府对重大传染病流行趋势进行预测、预警的部门是
A.肝吸虫 B.姜片虫 C.肺吸虫 D.牛肉绦虫 E.猪肉绦虫食“生鱼粥”易感染
马浑睛虫病的病原是
急性肾小球肾炎,多发生在链球菌感染后
现金流量表是反映企业在某一会计期间内现金流入和流出情况的报表。从现金流量表中,我们能获得的信息是:()。
在城市道路设计时,为了保持平面和纵断面的线形平顺,一般取凸形竖曲线的半径为平曲线半径的()倍。
会计凭证是()的直接依据。
把两个及其两个年级以上的儿童编在一个班级,直接教学与布置、完成作业轮流交替进行,在一节课内由一位教师对不同年级学生进行教学的组织形式是()
FromMondaytoFridaymostpeoplearebusyworkingorstudying,butintheeveningsandonweekendstheyarefreeandenjoythem
最新回复
(
0
)