第十章 运算符重载:运算符重载10.1运算符重载方法及运算符重载的规则:运算符重载方法及运算符重载的规则
10.2重载为类的成员函数及重载为类的友元函数:重载为类的成员函数及重载为类的友元函数
10.3双目和单目运算符的重载:双目和单目运算符的重载
10.4重载流插入运算符和流提取运算符:重载流插入运算符和流提取运算符
10.5不同类型数据间的转换:不同类型数据间的转换
[单选题]如果表达式a>=b,中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为(  )。选项:[a.operator>=(b, a), a.operator>=(b), a.operator>=(a), operator>=(a, b)]
[单选题]运算符重载时以下性质不一定会保持的是     

选项:[优先级、结合性, 返回值类型、操作数类型, 操作数的个数、优先级, 操作数的个数、结合性]
[单选题]下面是重载为非成员函数的运算符的函数原型,其中错误的是(    )。选项:[BigInt& operator =BigInt&, BigInt);, BigInt& operator *BigInt, BigInt);, BigInt operator -BigIntBigInt);, 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++流的叙述中,下面说法正确的是(      )。选项:[以上答案都不对, cinC++预定义的标准输入流对象, cinC++预定义的标准输入流函数, cinC++预定义的标准输入流类]

温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部