c++运算符重载.docx_第1页
c++运算符重载.docx_第2页
c++运算符重载.docx_第3页
c++运算符重载.docx_第4页
c++运算符重载.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论