要在类对象上使用运算符,以下不用必须被重载的运算符是()。
A . []
B . =
C . ++
D . --
相似题目
-
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
A、operator+有两个参数,operator*有两个参数
B、operator+有两个参数,operator*有一个参数
C、operator+有一个参数,operator*有两个参数
D、operator+有一个参数,operator*有一个参数
-
C语言中“%”运算符的运算对象必须是整型。
-
关于重载流插入和流抽取运算符以下说法错误的是( )
-
构造函数的方法名必须与_______名相同,使用运算符_______创建类的对象,给对象分配内存空间。
-
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)
-
下列运算符中全都可以被友元函数重载的是()A.=,+,-,\B.[],+,(),newC.->,+,*,>>D.<<,>>,+,*
下列运算符中全都可以被友元函数重载的是()
A.=,+,-,\
B.[],+,(),new
C.->,+,*,>>
D.<<,>>,+,*
-
已知Value是一个类,Value是Value的一个对象。 下列以非成员函数形式重载的运算符函数原形中,正确的是()。
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=O);
D.Valueoperator+(Valuev=value,inti=O);
-
假定有类定义class A; 现在想要输出A类对象a的值,正确的是() ① 将运算符<<重载为A的成员函数; ② cout<<a; ③ 将运算符<<重载为A的友元函数; ④ 在类A中定义公有成员函数display(),通过调用a.display()输出a的值
A.①②③
B.②③④
C.①③④
D.③④
-
在表达式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.istream& operator>>(istream&,<类名>&);B
重载输入流运算符>>必须使用的原型为()。
A.istream& operator>>(istream&,<类名>&);
B.istream& operator>>(istream,<类名>);
C.istream operator>>(istream,<类名>&);
D.<类名>operator>>(istream&,<类名>&);
-
如果对TA类对象使用逻辑运算符“==”重载,以下函数声明正确的是()。
A.void & TA::operator==(const TA &a);
B.TA & TA::operator==(const TA &a);
C.bool & TA::operator==(const TA &a);
D.bool TA::operator==(const TA &a);
-
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是
A.operator+有两个参数,operator*有两个参数
B.operator+有两个参数,operator*有一个参数
C.operator+有一个参数,operator*有两个参数
D.operator+有一个参数,operator*有一个参数
-
重载输入流运算符<<必须使用的原型为()。A.ostream& operator>>(ostream&,<类名>);B.istr
重载输入流运算符<<必须使用的原型为()。
A.ostream& operator>>(ostream&,<类名>);
B.istream& operator>>(istream&,<类名>&);
C.ostream operator>>(ostream,<类名>&);
D.<类名>operator>>(istream &,<类名>&);
-
【简答题】定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。⑴分别用成员函数与友元函数编写运算符重载函数;⑵在主函数中定义复数对象 c1(10,20)、c2(15,30),进行 c2-=c1 的复数运算,并输出 c1、c2 的复数值。
-
在你自己定义的类中如果要重载流插入运算符 << ,你必须将该运算符重载为类的友元函数,而不是成员函数,否则就会出现非常奇怪的使用方式。
-
C语言中运算对象必须是整型的运算符是().
A.%
B./
C.!
D.*
-
已知将运算符“+”和“*”作为Complex的成员函数重载,设c1和c2是类complex的对象,则表达式c1+c2*c1等价于()
A.c1.operaror*(c2.operator+(c1))
B.c1.operator+(c2.operator*(c1))
C.c1.operator*(c1.operator+(c2))
D.c2.operator+(c1.operator*(c1))
-
2、C++中下列哪个运算符不允许被重载()。
A.%=
B.&&
C.new
D.*
-
类对象的输入输出需在类中定义重载的提取运算符“>>”和插入运算符“<<”。()
是
否
-
4、多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。
-
53、对于+=(或=)运算符,重载函数的返回值为void类型或本类类型对象的区别是:()
A.void类型,本类对象可连续赋值。
B.本类类型,则本类对象可以连续赋值.
C.void类型,本类类型都可以连续赋值
D.void类型,本类类型都不可以连续赋值
-
5、下列运算符哪一个不能在C++中被重载?
A.?:
B.+
C.&&
D.new