习题7与其解答.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题7与其解答

习题7及其解答 7.1 选择题 1.在下列运算符中,不能重载的是( b )。 (a) ! (b) sizeof (c) new (d) delete 2.下列关于运算符重载的描述中,( d )是正确的。 (a) 可以改变参与运算的操作数个数 (b) 可以改变运算符原来的优先级 (c) 可以改变运算符原来的结合性 (d) 不能改变原运算符的语义 3.下列函数中,不能重载运算符的函数是( b )。 (a) 成员函数 (b) 构造函数 (c) 普通函数 (d) 友员函数 4.要求用成员函数重载的运算符是( a )。 (a) = (b) == (c) = (d) ++ 5.要求用友员函数重载的运算符是( c )。 (a) = (b) [] (c) (d) () 6. 下面关于类型转换的描述中,错误的是( a )。 (a) 任何形式的构造函数都可以实现数据类型转换。 (b) 带非默认参数的构造函数可以把基本类型数据转换成类类型对象。 (c) 类型转换函数可以把类类型对象转换为其他指定类型对象。 (d) 类型转换函数只能定义为一个类的成员函数,不能定义为类的友员函数。 7.2 阅读下列程序,写出执行结果 1. #include iostream using namespace 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; tempobj.b = b * obj.b; tempobj.c = c * obj.c; return tempobj; } int main() { T obj1( 1,2,3 ), obj2( 5,5,5 ), obj3; int a , b , c; obj3 = obj1 * obj2; obj3.get( a, b, c ); cout( obj1*obj2 ): a = a\tb = b\tc = c\tendl; (obj2*obj3).get( a, b, c ); cout( obj2*obj3 ): a = a\tb = b\tc = c\tendl; } 【解答】 ( obj1 * obj2 ): a = 5 b = 10 c = 15 ( obj2 * obj3 ): a = 25 b = 50 c = 75 2. #include iostream using namespace std; class Vector { public: Vector(){ } Vector(int i,int j) { x = i ; y = j ; } friend Vector operator+ ( Vector v1, Vector v2 ) { Vector tempVector ; tempVector.x = v1.x + v2.x ; tempVector.y = v1.y + v2.y ; return tempVector ; } void display() { cout ( x , y ) endl ; } private: int x , y ; }; int main() { Vector v1( 1, 2 ), v2( 3, 4 ), v3 ; cout v1 = ; v1.display() ; cout v2 = ; v2.display() ; v3 = v1 + v2 ; cout v3 = v1 + v2 = ; v3.display() ; } 【解答】 v1 = ( 1, 2 ) v2 = ( 3, 4 ) v3

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档