第十章 运算符重载:运算符重载10.1运算符重载方法及运算符重载的规则:运算符重载方法及运算符重载的规则[单选题]如果表达式a>=b,中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为( )。选项:[a.operator>=(b, a), a.operator>=(b), a.operator>=(a), operator>=(a, b)]
10.2重载为类的成员函数及重载为类的友元函数:重载为类的成员函数及重载为类的友元函数
10.3双目和单目运算符的重载:双目和单目运算符的重载
10.4重载流插入运算符和流提取运算符:重载流插入运算符和流提取运算符
10.5不同类型数据间的转换:不同类型数据间的转换
[单选题]运算符重载时以下性质不一定会保持的是( )。选项:[优先级、结合性, 返回值类型、操作数类型, 操作数的个数、优先级, 操作数的个数、结合性]
[单选题]下面是重载为非成员函数的运算符的函数原型,其中错误的是( )。选项:[BigInt& operator =(BigInt&, BigInt);, BigInt& operator *(BigInt, BigInt);, BigInt operator -(BigInt,BigInt);, BigInt operator +(BigInt, BigInt);]
[单选题]下列运算符中,( )运算符在C++中不能重载。选项:[[ ]
, : :
, +
, +=]
[单选题]关于运算符重载,下列表述中错误的是( )。选项:[不可以通过运算符重载来创建C++中原来没有的运算符, C++已有的大部分运算符都可以重载, C++中的运算符不能做多次重载定义, 运算符函数的返回类型不能声明为基本数据类型]
[单选题]在语句int n; cin>>n;中,cin是( )。选项:[对象名, 函数名, 变量名, 类名]
[单选题]若要在Vector类中将*重载为一元运算符,下列重载函数声明中肯定有错的是( )。选项:[Vector operator *(Vector, Vector);, Vector operator *();, Vector operator *(Vector);, int operator *(Vector);]
[单选题]下列关于运算符重载的描述中,( )是正确的。选项:[运算符重载可以改变操作数的个数, 运算符重载不可以改变语法结构, 运算符重载可以改变优先级, 运算符重载可以改变结合性]
[单选题]在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。选项:[作为友元函数重载的单目运算符, 作为成员函数重载的单目运算符, 作为成员函数重载的双目运算符, 作为友元函数重载的双目运算符]
[单选题]重载流插入运算符<<时,下列设计不合理的是( )。选项:[将运算符函数的第一个参数设为ostream &, 将运算符函数的返回值类型设为ostream &, 将运算符定义为类的成员函数, 为运算符函数设置两个参数]
[单选题]下列关于运算符重载的描述中,正确的是( )。选项:[二元运算符重载成为非成员函数时,参数表中有一个参数, 一元运算符只能作为成员函数重载, 运算符重载成为成员函数时,若参数表中无参数,重载是一元运算符, C++中可以重载所有的运算符]
[单选题]在名为BigNumber类的类体中对运算符函数double进行如下声明:operator double(BigNumber); 函数声明中有一个明显的错误,这个错误就是( )。
选项:[参数声明中缺少参数变量, 缺少对函数返回类型的说明, 函数声明中缺少函数体, 参数表中不应该有任何参数]
[单选题]下列运算符中哪些是不能够被重载的( )。选项:[+=,new,/=,= =, [], %, <=, --, –>*, .*, sizeof, ::, ? :, *=,++,delete,=]
[单选题]利用成员函数重载运算符:obj1*obj2被编译器解释为( )。选项:[operator *(obj1,obj2), *(obj1,obj2), obj1.operator *(obj2), obj2.operator *(obj1)]
[单选题]若为类MyNumber重载运算符“/”,下列声明中,错误的是( )。选项:[friend MyNumber operator/(MyNumber, MyNumber);, friend MyNumber operator/(int, float);, friend MyNumber operator/(MyNumber, int);, friend MyNumber operator/(float, MyNumber);]
[单选题]若要对BigData类中用成员函数方式重载取模运算符,下列声明选项中正确的是( )。选项:[operator %(BigData, BigData);, BigData % (const BigData);, BigData operator%(const BigData);, BigData % operator (const BigData);]
[单选题]如果对TA类对象使用逻辑运算符“==”重载,以下函数声明正确的是( )。选项:[void & TA::operator==(const TA &a);, bool TA::operator==(const TA &a);, TA & TA::operator==(const TA &a);, bool & TA::operator==(const TA &a);]
[单选题]C ++流中重载的运算符<<是一个( )。选项:[用于输入操作的成员函数, 用于输出操作的非成员函数, 用于输出操作的成员函数, 用于输入操作的非成员函数]
[单选题]以下类中说明了“++”运算符重载函数的原型。
class TA
{
public:
.. .. ..
friend TA operator ++(TA &);
};
编译器把表达式”++d”解释为:( )。
选项:[operator++(), operator++(d), d.operator++(), d.operator++(d)]
[单选题]下列关于C++流的叙述中,下面说法正确的是( )。选项:[以上答案都不对, cin是C++预定义的标准输入流对象, cin是C++预定义的标准输入流函数, cin是C++预定义的标准输入流类]
温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!