首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类模板定义: template<typename T> class BigNumber{ long n; public: BigNumber(T i):n(i){} BigNumber operator+(BigNumber b){ return B
有如下类模板定义: template<typename T> class BigNumber{ long n; public: BigNumber(T i):n(i){} BigNumber operator+(BigNumber b){ return B
admin
2020-07-30
38
问题
有如下类模板定义:
template<typename T>
class BigNumber{
long n;
public:
BigNumber(T i):n(i){}
BigNumber operator+(BigNumber b){
return BigNumber(n+b.n);
}
}
已知b1、b2是BigNumber的两个对象,则下列表达式中错误的是( )。
选项
A、b1+b2
B、b1+3
C、3+b1
D、3+3
答案
C
解析
C++运算符的重载有两个方式,一种是做为成员函数,另一种是做为友元函数。前种C++默认省略第一个参数(事实上是对象本身),而后一种是所有的参数都要写全。比如对加法的重载:成员方式为COperator operator+(COperator&op);在调用的过程中我们可以理解为result=operator+(op);友元方式为friend COperatoropexator-(COperator &op1,COperator &op2);,在调用的过程中我们可以理解为result=operator-(op1,op2);。
对于本题来说,整数3与b1相加时,3是int型,b1是BigNumber<T>型,int型不能和别的型做运算。
转载请注明原文地址:https://kaotiyun.com/show/kTyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于函数模板的表述中,正确的是
有如下程序段:inti=1;intj=4;intmain(){intj=i,i=8;cout
有如下程序:#includeusingnamespacestd;intfun1(intx){return++x;}intfun2(int&x){re
有如下程序:#includeusingnamespacestd;classBase{public:voidfun(){cout
通过运算符重载,可以改变运算符原有的()。
已知一运算符函数没有参数。下列关于该运算符函数的表述中错误的是
运算符重载是对已有的运算符赋予多重含义,因此()。
随机试题
TripleYourPersonalProductivity[A]Haveyoueverhadtheexperienceoflookingbackonyourweekwiththesinkingfeeling
内减阻涂料必须具备的特性有哪些?
影像质量评价是对影像形成过程中的各个环节的性能进行评价,从而确定所成影像的质量好坏及是否符合诊断需求;多年来国内外众多的学者对此进行研究,出现了一大批研究成果,形成了影像质量评价这一新的研究领域;总结起来,主要的评价方法可分为主观评价法、客观评价法以及两者
财产清查按清查的范围可分为( )。
单位人民币卡不得透支,但可以支取现金。()
根据证券投资基金法律制度的规定,下列选项中,属于开放式证券投资基金的基金份额持有人享有的权利有()。
计数调整型抽样检验不是一个单一的抽样方案,而是()抽样体系。
陈毅同志曾经说过:“淮海战役的胜利是人民群众用小推车推出来的。”这句话的意思是说()。
在中国革命过程中,具有新民主主义革命和社会主义革命双重性质的事件是
Farmersareallowedtogrowsmallgardensoftheirownandtheyselltheirvegetables______theblackmarket.
最新回复
(
0
)