-
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
A、operator+有两个参数,operator*有两个参数
B、operator+有两个参数,operator*有一个参数
C、operator+有一个参数,operator*有两个参数
D、operator+有一个参数,operator*有一个参数
-
对每个可重载的运算符来说,只能重载为友元函数。
A . 正确
B . 错误
-
运算符重载的形式有两种:成员函数形式和友元形式。
A . 正确
B . 错误
-
在C++中,运算符的重载有两种实现方法,一种是通过成员函数实现,另一种则通过友元函数实现
-
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
A.x.operator++(0).operator*(y);
B.operator*(x.operator++(0),y);
C.y.operator*(operator++(x,0))
D.operator*(operator++(x,0),y)
-
如果在表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为
A.(operator++(x) ) .operator/(y)
B.(operator++(0) ) .operator/(y)
C.operator/((operator++(x,0) ) ,y)
D.operator/((operator++(0) ) ,y)
-
已知Value是一个类,Value是Value的一个对象。 下列以非成员函数形式重载的运算符函数原形中,正确的是()。
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=O);
D.Valueoperator+(Valuev=value,inti=O);
-
35、下列运算符中,不可以重载的是()。
A.++
B.new
C.[ ]
D.?:
-
假定有类定义class A; 现在想要输出A类对象a的值,正确的是() ① 将运算符<<重载为A的成员函数; ② cout<<a; ③ 将运算符<<重载为A的友元函数; ④ 在类A中定义公有成员函数display(),通过调用a.display()输出a的值
A.①②③
B.②③④
C.①③④
D.③④
-
下列运算符不能在C++中重载的是()。A.?:B.-C.<=D.+
下列运算符不能在C++中重载的是()。
A.?:
B.-
C.<=
D.+
-
下列是重载为非成员函数的运算符函数原型,其叶错误的是()。A.Fraction operator+(Fraction,Fracti
下列是重载为非成员函数的运算符函数原型,其叶错误的是()。
A.Fraction operator+(Fraction,Fraction);
B.Fraction operator-(Fraction);
C.Fraction&operator=(Fraction&,Fraction);
D.Fraction&operator+=(Fraction&,Fraction);
-
在表达式x+y*z中,+作为成员函数重载的运算符,*作为友元函数重载的运算符,以下叙述中正确的是()
A.operator+有2个参数,operator*有2个参数
B.operator+有2个参数,operator*有1个参数
C.operator+有1个参数,operator*有2个参数
D.operator+有1个参数,operator*有1个参数
-
已知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);
-
下列关于运行符重载的描述中,正确的是()。A.运算符重载可以改变操作数的个数B.运算符重载可以改变
下列关于运行符重载的描述中,正确的是()。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变操作数的优先级
C.运算符重载可以改变运算符的结合性
D.运算符重载可以使运算符实现特殊功能
-
下列运算符不能重载为友元函数的是()。A.= () [] ->B.+ - ++ --C.> < >= <=D.+= -= *_= /=
下列运算符不能重载为友元函数的是()。
A.= () [] ->
B.+ - ++ --
C.> < >= <=
D.+= -= *_= /=
-
如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。
A.a.operator+()
B.b.operator+()
C.operator+(a,b)
D.operator(a+b)
-
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是
A.operator+有两个参数,operator*有两个参数
B.operator+有两个参数,operator*有一个参数
C.operator+有一个参数,operator*有两个参数
D.operator+有一个参数,operator*有一个参数
-
下列运算符中,在C++语言中不能重载的是()。A.*B.>=C.sizeofD./
下列运算符中,在C++语言中不能重载的是()。
A.*
B.>=
C.sizeof
D./
-
已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列M
已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x{3.2), y(5.5), z (0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数operator-应该在类中声明为,
A.friend Myst operator- (Myst&,Myst&);
B.friend Myst operator-(Myst,Myst);
C.friend Myst operator-(Myst,Myst&);
D.friend Myst operator-(Myst&,Myst);
-
【简答题】定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。⑴分别用成员函数与友元函数编写运算符重载函数;⑵在主函数中定义复数对象 c1(10,20)、c2(15,30),进行 c2-=c1 的复数运算,并输出 c1、c2 的复数值。
-
在你自己定义的类中如果要重载流插入运算符 << ,你必须将该运算符重载为类的友元函数,而不是成员函数,否则就会出现非常奇怪的使用方式。
-
如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A.operator++(1)
B.operator++(a)
C.operator++(a,1)
D.a.operator++()
-
下列重载为非成员函数的运算符函数原型中,错误的____()
A.Fraction operator -(Fraction)
B.Fraction& operator =(Fraction&, Fraction)
C.Fraction& operator +=(Fraction&, Fraction)
D.Fraction operator +(Fraction, Fraction)
-
4、多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。