第十章测试
1.

下列运算符中,(   )运算符在C++中不能重载。


A:: :
B:+= C:+
D:[ ]

答案:A
2.利用成员函数重载运算符:obj1*obj2被编译器解释为(  )。
A:obj1.operator *(obj2) B:*(obj1,obj2) C:obj2.operator *(obj1) D:operator *(obj1,obj2) 3.

如果对TA类对象使用逻辑运算符“==”重载,以下函数声明正确的是(   )。


A:bool & TA::operator==(const TA &a) B:bool TA::operator==(const TA &a) C:TA & TA::operator==(const TA &a) D:void & TA::operator==(const TA &a) 4.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(    )。
A:作为成员函数重载的双目运算符 B:作为友元函数重载的单目运算符 C:作为成员函数重载的单目运算符 D:作为友元函数重载的双目运算符 5.

在语句int n; cin>>n;中,cin是(     )。


A:类名 B:变量名 C:函数名 D:对象名 6.

关于运算符重载,下列表述中错误的是(    )。


A:C++已有的大部分运算符都可以重载 B:运算符函数的返回类型不能声明为基本数据类型 C:不可以通过运算符重载来创建C++中原来没有的运算符 D:C++中的运算符不能做多次重载定义 7.

C ++流中重载的运算符<<是一个(    )。


A:用于输入操作的成员函数 B:用于输入操作的非成员函数 C:用于输出操作的成员函数 D:用于输出操作的非成员函数 8.

若要对BigData类中用成员函数方式重载取模运算符,下列声明选项中正确的是(    )。


A:BigData % operator (const BigData); B:BigData % (const BigData); C:BigData operator%(const BigData); D:operator %(BigData, BigData); 9.下列运算符中哪些是不能够被重载的(   )。
A:*=++delete= B:+=new/== = C: –>*, .*, sizeof, ::, ? : D:[], %, <=, -- 10.下面是重载为非成员函数的运算符的函数原型,其中错误的是(    )。
A:BigInt& operator =BigInt&, BigInt); B:BigInt operator +BigInt, BigInt); C:BigInt& operator *BigInt, BigInt); D:BigInt operator -BigIntBigInt); 11.如果表达式a>=b,中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为(  )。
A:a.operator>=(b) B:a.operator>=(b, a) C:a.operator>=(a) D:operator>=(a, b) 12.

在名为BigNumber类的类体中对运算符函数double进行如下声明:

operator double(BigNumber); 函数声明中有一个明显的错误,这个错误就是  



A:缺少对函数返回类型的说明 B:参数表中不应该有任何参数 C:参数声明中缺少参数变量 D:函数声明中缺少函数体 13.

下列关于运算符重载的描述中,正确的是(     )。


A:运算符重载成为成员函数时,若参数表中无参数,重载是一元运算符 B:二元运算符重载成为非成员函数时,参数表中有一个参数 C:C++中可以重载所有的运算符 D:一元运算符只能作为成员函数重载 14.

下列关于运算符重载的描述中,     是正确的。


A:运算符重载可以改变操作数的个数 B:运算符重载不可以改变语法结构 C:运算符重载可以改变结合性 D:运算符重载可以改变优先级 15.下列关于C++流的叙述中,下面说法正确的是(      )。
A:cinC++预定义的标准输入流类 B:以上答案都不对 C:cinC++预定义的标准输入流函数 D:cinC++预定义的标准输入流对象 16.若要在Vector类中将*重载为一元运算符,下列重载函数声明中肯定有错的是     
A:int operator *(Vector); B:Vector operator *(Vector); C:Vector operator *(Vector, Vector); D:Vector operator *(); 17.

重载流插入运算符<<时,下列设计不合理的是     


A:为运算符函数设置两个参数 B:将运算符定义为类的成员函数 C:将运算符函数的返回值类型设为ostream & D:将运算符函数的第一个参数设为ostream & 18.

若为类MyNumber重载运算符“/”,下列声明中,错误的是     


A:friend MyNumber operator/(MyNumber, MyNumber); B:friend MyNumber operator/(MyNumber, int); C:friend MyNumber operator/(int, float); D:friend MyNumber operator/(float, MyNumber); 19.

运算符重载时以下性质不一定会保持的是     


A:优先级、结合性 B:操作数的个数、结合性 C:操作数的个数、优先级 D:返回值类型、操作数类型 20.

以下类中说明了“++”运算符重载函数的原型。

class TA

{

   public:

   .. .. ..                                    

   friend TA operator ++(TA &);

};

编译器把表达式”++d”解释为:(  )。




A:d.operator++(d) B:operator++(d) C:d.operator++() D:operator++()

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