预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1下列各运算符中,(b)优先级最高。 A.+(双目)B.*(单目)C.<=D.*= 2下列各运算符中,(a)优先级最低。 A.?:B.|C.||D.!= 3运算符重载是对已有的运算符赋予多重含义,因此(c)。 A)可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义。 B)可以改变一个已有运算符的优先级和操作数个数。 C)只能重载C++中已经有的运算符,不能定义新运算符。 D)C++中已经有的所有运算符都可以重载。 4有自定义类型A,其赋值函数的函数原型为Aoperator=(constA&);有A类型的对象a,b,c,下列语句不合法的是(d) A.a=b;B.a=a;C.a=b=c;D.(a=b)=c; 5下列运算符中,哪一个不能重载(a)。 A.?:B.[]C.()D.++ 6下列运算符中,哪一个必须使用成员函数重载(a) A.=B.<<C.--D.++ 7有自定义类型A,其赋值函数的函数原型为constA&operator=(constA&);有A类型的对象a,b,c,下列语句不合法的是(d) A.a=b;B.a=a;C.a=b=c;D.(a=b)=c; 8下列运算符中,哪一个可以使用全局函数重载(d)。 A.=B.[]C.()D.++ 9对于自定义类型来说,下列运算符中,需要重载才能使用的是(b) A.=(赋值);B.[](下标);C.&(取地址);D.,(逗号); 10假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法, 并返回相加结果,则该成员函数的声明语句为:(b) A.ABAB::operator+(constAB&a,constAB&b) B.ABAB::operator+(constAB&a) C. AB::operator+(ABa)D.AB&AB::operator+() 11后缀--运算符的重载函数语法格式如下: 函数类型operator--(形参,int){函数体} 则下面关于第2个虚参的叙述中,正确的说法是(c) (A) 第2个参数必须给出参数名称 (B) 第2个参数不能给出参数名称 (C) 第2个参数必须是int型参数,其参数名可有可无 (D) 第2个参数也可以是long型参数 12设分数的类型定义如下: structFraction { intnume; intdeno; }; 则下面关于取自身的单目运算符“+”的运算符重载函数中,最合适是(a)。 (A) Fractionoperator+(constFraction&x) {returnx;} (B) Fractionoperator+(Fraction&x) {returnx;} (C) voidoperator+(Fractionx) {returnx;} (D) voidoperator+(Fraction&x) {returnx;} 13下列说法中,正确的说法是b A.所有的运算符都能被重载 B.运算符被重载时,它们的优先级与结合性不会改变 C.当需要时,我们可以自定义一个运算符来进行重载 D.每个运算符都可以被重载成成员函数和友元函数 14下列有关运算符重载的叙述正确的是a。 A.非静态成员函数重载运算符时带有this指针 B.友元函数重载运算符时带有this指针 C.成员函数与友元函数重载运算符时都不带有this指针 D.用成员函数或友元函数重载同一运算符时,两者的参数类型与参数个数相同 15在下面的运算符重载函数的原型中,错误的是a A)Volumeoperator-(double,double); B)doubleVolume::operator-(double); C)VolumeVolume::operator-(Volume); D)Volumeoperator-(Volume,Volume); 16若通过类的成员函数和友元函数所实现的运算符重载的功能是一样的,下列说法正确的是d。 A.这两种函数的参数相同,函数体实现过程不同 B.编译器对这两种函数编译时所作的解释相同 C.这两种函数都带有this指针 D.友元函数比成员函数多一个参数 17下列运算符中,不能被重载的是(c)。 A)&& B)!= C). D)++ 18下面程序中对一维坐标点类Point进行运算符重载 #include<iostream> usingnamespacestd; classpoint{ public: point(intval){x=val;} point&operator++(){x++;return*this;} pointoperator++(int){ pointold=*this;++(*this); returnold;} intGetX()const{returnx;} private: i