c++运算符的重载习题答案实用.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 概念填空题 1.1 运算符重载是对已有的运算符赋予 多重 含义,使同一个运算符在作用于 不同类型 对象时导致不同的行为。运算符重载的实质是 函数重载 ,是类的 多态性 特征。 1.2 可以定义一种特殊的类型转换函数,将类的对象转换成基本数据类型的数据。但是这种 类型转换函数只能定义为一个类的 成员 函数而不能定义为类的友元函数。类类型转换函 数既没有 参数 ,也不显式给出 返回类型 。类类型函数中必须有 return 表达式 的语句 返回函数值。一个类可以定义 多个 类类型转换函数。 1.3 运算符重载时其函数名由 operator 运算符 构成。成员函数重载双目运算符时 ,左操作 数是 对象 , 右操作数是 函数参数 。 2. 简答题 2.2 简述运算符重载的规则。 2.2 简述重载单目运算符 ++、-- ,前置和后置时的差别。 2.3 C++ 中重运算符是否都可以重载 ?是否都可以重载成类的成员函数 ?是否都可以重载成类 的友元函数 ? 2.4 构造函数作为类型转换函数的条件是什么。 3 .选择题 3.1 在下列运算符中 , 不能重载的是 (B) A. ! B. sizeof C. new D. delete 3.2 不能用友员函数重载的是 (A) 。 A.= B.== C.= D.++ 3.3 下列函数中 , 不能重载运算符的函数是 (B) 。 A. 成员函数 B. 构造函数 C. 普通函数 D. 友员函数 3.4 如果表达式 ++i*k 时中的” ++”和” * ”都是重载的友元运算符, 则采用运算符函数调用 格式,该表达式还可表示为( B)。 A .operator*(i.operator++(),k) B.operator*(operator++(i),k) C .i.operator++().operator*(k) D . k.operator*(operator++(i)) 3.5 已知在一个类体中包含如下函数原型: VOLUME operator-(VOLUME)const ;下列关于这 个函数的叙述中,错误的是( B )。 A .这是运算符 - 的重载运算符函数 B .这个函数所重载的运算符是一个一元运算符 C .这是一个成员函数 D .这个函数不改变数据成员的值 3.6 在表达式 x +y*z 中,+是作为成员函数重载的运算符, * 是作为非成员函数重载的运算 符。下列叙述中正确的是( C )。 A .operator+ 有两个参数, operator* 有两个参数 B .operator+ 有两个参数, operator* 有一个参数 C .operator+ 有一个参数, operator* 有两个参数 D .operator+ 有一个参数, operator* 有一个参数 4. 写出下列程序运行结果 4.1#include iostream #using namesoace std; class T {public: T( ){a=0; b=0; c=0;} T( int i,int j,int k) {a=i; b =j;c=k;} void get( int i,int j,int k) {i=a; j=b; k=c;} T operator *(T obj); private: int a,b,c; }; T T::operator *(T obj) {T tempobj; tempobj.a=a * obj.a; t

文档评论(0)

蔡氏壹贰 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档