首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类模板定义: template class BigNumber{ long n; public: BigNumber(T i):n(i){} BigNumber operator+(BigN
有如下类模板定义: template class BigNumber{ long n; public: BigNumber(T i):n(i){} BigNumber operator+(BigN
admin
2015-09-14
37
问题
有如下类模板定义:
template
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 COperator operator-(COperator &op1,COperator &op2);,在调用的过程中我们可以理解为result= operator-(op1,op2);。
对于本题来说,整数3与b1相加时,3是缸型,b1是BigNumber
型,int型不能和别的型做运算。
转载请注明原文地址:https://kaotiyun.com/show/JqNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;voidfun(int&rf){rf*=2;}intm
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的选项是#include<iostream.h>voidmain(){inta,b,t;
关于静态数据成员的描述中正确的是
两个变量定义不能同名,是因为()。
cin是()的一个对象,处理标准输入。
一个关系中属性个数为1时,称此关系为
下列关于栈的叙述中,不正确的是()。
将ER图转换到关系模式时,实体与联系都可以表示成()。
作为成员函数重载的运算符,第一操作数就是参数表中隐含的______所指向的对象,因此并不显示地出现在参数表中。
下列关于继承方式的描述中,错误的是()。
随机试题
2018年2月,()开始列装空军作战部队,使中国战斗机拉近到与美国同代水平。
下列对于函数y=xcosx的叙述,正确的一个是()
婴儿最早长出的乳牙一般是:()
初乳是指
基坑土方填筑应()进行回填和夯实。
下列指标的扩张意味着经济周期的开始的有()。
下列形容天气的语句是()。
简述唐律十二篇的主要内容。
TheColonelaskedAshendenagoodmanyquestionsandthensuggestedthathehadparticularqualificationsfortheSecretService
Thereportfocusedonthe______ofthestudy.
最新回复
(
0
)