首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类模板定义: 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
28
问题
有如下类模板定义:
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://jikaoti.com/ti/dxl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数模板定义:templateT1FUN(T2n){returnn*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
有如下类定义:classPass{staticintcount;public:Pass(){}voidshow()const;friendin
有如下程序:#includeusingnamespacestd;intfun1(intx){return++x;}intfun2(int&x){re
有如下程序:#includeusingnamespacestd;classA{public:virtualvoidfunc1(){cout
已知一运算符函数没有参数。下列关于该运算符函数的表述中错误的是
下列有关类成员的叙述中,正确的是
运算符重载是对已有的运算符赋予多重含义,因此()。
随机试题
我们把公平归纳为()
应用程序都能像删除文件一样直接删除。()
A.蜂窝织炎B.脓肿C.卡他性炎D.纤维素性炎
甲、乙两人从A地到B地,甲步行的速度为每小时3千米,乙步行的速度为每小时5千米,两人骑自行车的速度都是15千米。现在甲先步行,乙先骑车,两人同时出发,走了一段路程后,乙放下车步行,甲走到乙放自行车处改骑自行车,以后不断交替行进,两人恰好同时到达B地,则甲走
案情:黄某(女,25岁)是中外合资公司总经理秘书,具有大学本科学历,精通英语,业务能力强,而且相貌气质俱佳。在工作过程中,因工作需要常与总经理一同出差,引起总经理妻子夏某的嫉恨。夏某多次在电话中辱骂黄某,甚至到公司对黄某进行谩骂。一日,夏某故意来到黄某回家
下列不属于按通货膨胀原因分类的是()。
证券交易所的监管职能只包括对证券交易活动进行管理。()
关于股利政策,下列说法中不正确的是()。
The______brokeoutinJune1950andendedinthesummerof1953.
她和男朋友吵了一架,冒着大雨跑了出去。
最新回复
(
0
)