求解答C++问题
1、下面关于增1运算符"++"重载的叙述中,正确的说法是
A.前缀增1运算符重载函数中需要增加一个额外的参数int,后缀增1的重载也需要
B.前缀增1运算符重载函数中需要增加一个额外的参数int,但后缀增1的重载不需要
C.前缀增1运算符重载函数中不需要增加一个额外的参数int,但后缀增1的重载需要
D.前缀增1运算符重载函数中不需要增加一个额外的参数int,后缀增1的重载也不需要
2、下面关于插入运算符">>"重载的叙述中正确的说法是
A.重载运算符函数中的参数必须是引用参数,函数返回值也必须是引用参数
B.重载运算符函数中的参数必须是引用参数,函数返回值不必是引用参数
C.重载运算符函数中的参数不必是引用参数,函数返回值必须是引用参数
D.重载运算符函数中的参数不必是引用参数,函数返回值也不必是是引用参数
3、下面关于结构体变量运算符重载中,正确的单目运算符重载语法格式是
A.函数类型名单目运算符operator(形参){函数体}
B.函数类型名operator单目运算符(形参){函数体}
C.函数类型名单目运算符operator(){函数体}
D.函数类型名operator单目运算符(){函数体}
4、
下面关于结构体变量运算符重载中,正确的双目运算符重载语法格式是
A.函数类型名双目运算符operator(形参1,形参2){函数体}
B.函数类型名operator双目运算符(形参1,形参2){函数体}
C.函数类型名双目运算符operator(形参){函数体}
D.函数类型名operator双目运算符(形参){函数体}
5、
设A和B是两个结构体变量,下面正确的表达式是
A.A=BB.A=B+1C.A>BD.A==B
6、设分数结构体定义如下:
structFraction
{
intnume;//分子
intdeno;//分母
};
则下面关于取相反数的单目运算符"-"的运算符重载函数中,正确的是
A.Fractionoperator-(Fractionx){x.nume=-x.nume;returnx;}
B.Fractionoperator-(Fraction&x){x.nume=-x.nume;returnx;}
C.voidoperator-(Fractionx){x.nume=-x.nume;}
D.voidoperator-(Fraction&x){x.nume=-x.nume;}
7
设分数结构体定义如下:
structFraction
{
intnume;//分子
intdeno;//分母
};
则下面关于取自身的单目运算符"+"的运算符重载函数中,最合适的是
A.Fractionoperator+(Fractionx){returnx;}
B.Fractionoperator+(Fraction&x){returnx;}
C.voidoperator+(Fractionx){returnx;}
D.voidoperator+(Fraction&x){returnx;}