单选题将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。AMyClock operator+(MyClock,long);BMyClock operator+(MyClock,MyClock);CMyClock operator+(1ong,long);DMyClock operator+(1ong,MyClock);
单选题
将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。
A
MyClock operator+(MyClock,long);
B
MyClock operator+(MyClock,MyClock);
C
MyClock operator+(1ong,long);
D
MyClock operator+(1ong,MyClock);
参考解析
解析:
重载的“+'运算符的两个参数都是long类型,而C++已经提供了求两个long型数据之和的运算符+,编译器无法区分应该调用哪一个。该运算符重载有二义性。
重载的“+'运算符的两个参数都是long类型,而C++已经提供了求两个long型数据之和的运算符+,编译器无法区分应该调用哪一个。该运算符重载有二义性。
相关考题:
有如下的运算重载函数定义:Double operator+(int i, int k){return double(i+k);}但定义有错误,对这个错误的最准确的描述是______。A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个int 型参数的和应该是int 型,而这里将+的返回类型声明为doubleC.没有将运算符重载函数声明为某个类的友元D.C++已经提供了求两个int 型数据之和运算符+,不能再定义同样的运算符
下列运算符函数中,肯定不属于类Value的成员函数的是( )。A.Value operator+(Value);B.Value operator-(Value,Value);C.Value operator*(int);D.Value operator/(Value);
( 33 )将运算符 “ + ” 重载为非成员函数,下列原型声明中,错误的是A ) MyClock operator + (MyClock,long);B ) MyClock operator + (MyClock,MyClock);C ) MyClock operator + (long,long);D ) MyClock operator + (long,MyClock);
下列是重载为非成员函数的运算符函数原型,其叶错误的是()。A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fraction&operator=(Fraction&,Fraction);D.Fraction&operator+=(Fraction&,Fraction);
将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。A.MyClock operator+(MyClock,long);B.MyClock operator+(MyClock,MyClock);C.MyClock operator+(long,long);D.MyClock operator+(long,MyClock);
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。A) Data+(DatA) ;B) Data operator+{Data};C) Data+operator{Data};D) operator+(Data,DatA) ;A.B.C.D.
下面是重载为非成员函数的运算符函数原型,其中错误的是( )。A.Fraction operator+ (Fraction,Fraction);B.Fraction opemtor-(Fraction);C.Fraction perator=(Fraction,Fraction);D.Fraction operator+=(Fraction,Fraction);
如果表达式x * y+z中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该表达式还可为A.operator+(operator * (x, y) ,Z)B.x. operator+(operator * (x, y) ,z)C.y. operator * (operator+(x, y) ,z)D.x. operator+(operator * (x, y) )
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。A.AB operator+(AB a,AB B)B.AB perator+(AB )C.opetator+(AB a)D.AB operator+()
将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。A.MyClockoperator+(MyClock,long);B.MyClockoperator+(MyClock,MyCloek);C.MyCloekoperator+(long,long);D.MyClockoperator+(long,MyCloek):
下列是重载为非成员函数的运算符函数原型,其中错误的是( )。A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fractionoperator=(Fraction,Fraction);D.Fractionoperator+=(Fraction,Fraction);
已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是A.Value operator+(Value v, int i);B.Value operator+(Value v=value, int i);C.Value operator+(Value v, int i=0);D.Value operator+(Value v=value, int i=0);
有如下的运算符重载函数定义: double operator+(inti,intk){return double(i+k);} 但定义有错误,对这个错误最准确的描述是( )。A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个int型参数的和也应该是int型,而这里将+的返回类型声明为doubleC.没有将运算符重载函数声明为某个类的友元D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 A.Data+(DatA.;SXB 若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。A.Data+(DatA.;B.Data operator+(DatA.;C.Data+operator(DatA.;D.operator+(Data,DatA.;
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为( )。A.AB operator+(ABa,AB)B.AB perator+(AB)C.opetacor+(AB A)D.AB operator+()
已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )。A.Value operator+(Value v,int i);B.Value operator+(Value v=value,int i);C.Value operator+(Value vint i=0);D.Value operator+(Value v=value,int i=0);
已知类MyClas有一个只需要一个double型参数的构造函数,其将运算符“+”重载为友元函数。要使语句序列 MyClas x(1.2),y(2.3),z(0);z=x+y; 能够正常运行,运算符函数 operator+应在类中声明为( )。A.friend MyClas operator+(int,MyClas);B.friend MyClas operator+(MyClas,MyClas);C.friend MyClas operator+(MyClas,MyClas);D.friend MyClas operator+(MyClas,MyClas);
MyClock 类的拷贝构造函数的声明语句为( )。A.MyClock(MyClock x)B.MyClock(MyClock x)C.MyClock(MyClock x)D.MyClock(MyClock *x)
下面是重载为非成员函数的运算符的函数原型,其中错误的是( )。A.Fraction operator+(Fraction,Fraction);B.Fraction operator一(Fraction);C.Fractionoperator=(Fraction,Fraction);D.Fractionoperator+=(Fraction,Fraction);
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。A、operator+有两个参数,operator*有两个参数B、operator+有两个参数,operator*有一个参数C、operator+有一个参数,operator*有两个参数D、operator+有一个参数,operator*有一个参数
如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。A、a.operator+(b)B、b.operator+(a)C、operator+(a,b)D、operator(a+b)
单选题若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。AData+ (Data);BData operator+(Data);CData +operator(Data);Doperator+ (Data, Data);
单选题下面是重载为非成员函数的运算符函数原型,其中错误的是( )。AFraction operator+(Fraction,Fraction);BFraction operator-(Fraction);CFraction operator=(Fraction,Fraction);DFraction operator +=(Fraction,Fraction);
单选题已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )。AValue operator+(Value v,int i);BValue operator+(Value v=value,int i);CValue operator+(Value v ,int i=0);DValue operator+(Value v=value,int i=0);
单选题将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。AMyClock operator+(MyClock,long);BMyClock operator+(MyClock,MyClock);CMyClock operator+(1ong,long);DMyClock operator+(1ong,MyClock);
单选题下列运算符函数中,肯定不属于类Value的成员函数的是( )。AValue operator+(Value);BValue operator-(Value,Value);CValue operator*(int);DValue operator/(Value);