第十章下列运算符中,( )运算符在C++中不能重载。
答案:: :
利用成员函数重载运算符:obj1*obj2被编译器解释为( )。
obj2.operator *(obj1)
*(obj1,obj2)
obj1.operator *(obj2)
答案:obj1.operator *(obj2)
bool TA::operator==(const TA &a);
bool & TA::operator==(const TA &a);
void & TA::operator==(const TA &a);
答案:bool TA::operator==(const TA &a);
作为成员函数重载的双目运算符
作为成员函数重载的单目运算符
作为友元函数重载的双目运算符
答案:作为成员函数重载的单目运算符
对象名
类名
函数名
答案:对象名
C++已有的大部分运算符都可以重载
运算符函数的返回类型不能声明为基本数据类型
不可以通过运算符重载来创建C++中原来没有的运算符
答案:运算符函数的返回类型不能声明为基本数据类型
用于输出操作的非成员函数
用于输出操作的成员函数
用于输入操作的非成员函数
答案:用于输出操作的非成员函数
operator %(BigData, BigData);
BigData operator%(const BigData);
BigData % (const BigData);
答案:BigData operator%(const BigData);
[], %, <=, --
–>*, .*, sizeof, ::, ? :
+=,new,/=,= =
答案:–>*, .*, sizeof, ::, ? :
BigInt& operator *(BigInt, BigInt);
BigInt& operator =(BigInt&, BigInt);
BigInt operator +(BigInt, BigInt);
答案:BigInt& operator =(BigInt&, BigInt);
a.operator>=(b, a)
a.operator>=(b)
operator>=(a, b)
答案:operator>=(a, b)
参数表中不应该有任何参数
缺少对函数返回类型的说明
函数声明中缺少函数体
答案:参数表中不应该有任何参数
运算符重载成为成员函数时,若参数表中无参数,重载是一元运算符
一元运算符只能作为成员函数重载
二元运算符重载成为非成员函数时,参数表中有一个参数
答案:运算符重载成为成员函数时,若参数表中无参数,重载是一元运算符
运算符重载可以改变优先级
运算符重载不可以改变语法结构
运算符重载可以改变操作数的个数
答案:运算符重载不可以改变语法结构
cin是C++预定义的标准输入流函数
cin是C++预定义的标准输入流对象
以上答案都不对
答案:cin是C++预定义的标准输入流对象
Vector operator *();
int operator *(Vector);
Vector operator *(Vector, Vector);
答案:Vector operator *(Vector, Vector);
为运算符函数设置两个参数
将运算符定义为类的成员函数
将运算符函数的第一个参数设为ostream &
答案:将运算符定义为类的成员函数
friend MyNumber operator/(int, float);
friend MyNumber operator/(float, MyNumber);
friend MyNumber operator/(MyNumber, MyNumber);
答案:friend MyNumber operator/(int, float);
操作数的个数、优先级
操作数的个数、结合性
优先级、结合性
答案:返回值类型、操作数类型
operator++()
d.operator++()
operator++(d)
答案:operator++(d)