面向对象程序设计(第二次上机实验).doc

面向对象程序设计(第二次上机实验).doc

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

《面向对象程序设计》 上机报告 题目:第二次上机 班级: 学号: 姓名: 上机时间: 题目要求 1.阅读程序,预测功能,再上机编辑、运行该程序,以验证自己的预测。 【思考与练习】 构造函数的作用以及在什么情况下调用构造函数。 作用:不需要用户来调用它,在建立对象时自动识别它,有用户定义,根据初始化的要求设计函数体和函数参数。 在什么情况下拷贝构造函数被调用。 在以下三种情况下,系统自动调用拷贝构造函数。 ⑴ 当用类的一个对象去初始化该类的另一个对象时; ⑵ 如果函数的形参是类的对象,调用函数,进行形参和实参的结合时; ⑶ 如果函数的返回值是类的对象,函数执行完成返回调用者时。 3.构造一个圆柱体的类,定义该类对象a,再定义一个和a 同底等高的圆柱体b,计算 a 圆柱体的底面积,计算b 圆柱体的体积。 二 1.定义一个复数类,通过重载运算符: +,-,*,/,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求加法“+”用成员函数实现重载,减法“-”用成员函数实现重载。乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。 ⑵上机要求 增加重载复数的加法和减法运算符的功能,实现两个复数的加法,一个复数与一个实数的加法;两个复数的减法,一个复数与一个实数的减法。用成员函数实现加法运算符的重载,用友元函数实现减法运算符的重载。 自已设计主函数,完成程序的调试工作 二、题目分析 3,构造函数,通过调用函数实现运算。 2,运用运算符的重载。 三、源代码 1.1 #include iostream.h class Point { public: Point(int xx = 0, int yy = 0) { X = xx; Y = yy; cout调用构造函数\n; } Point(Point p); int GetX(){ return X; } int GetY(){ return Y; } private: int X,Y; }; Point::Point(Point p) { X = p.X; Y = p.Y; cout调用拷贝构造函数\n; } void main() { Point A(3,4); //Point B = A; //Point B; B = A; Point B(A); //b 行 coutB.GetX()\n; } 1.2 #include iostream.h class Point { public: Point(int xx = 0,int yy = 0) { X = xx; Y = yy; cout调用构造函数\n; } Point(Point p); int GetX(){ return X; } int GetY(){ return Y; } private: int X,Y; }; Point::Point(Point p) { X = p.X; Y = p.Y; cout调用拷贝构造函数\n; } void fun1(Point p) { coutp.GetX()\n; } void main() { Point A(4,5); Point B(A); coutB.GetX()\n; fun1(B); //调用拷贝构造函数,实现形参和实参结合 } 1.3 #include iostream.h class Point { public: Point(int xx=0,int yy=0) { X = xx; Y = yy; cout调用构造函数\n; } Point(Point p); int GetX() {return X;} int GetY() {return Y;} private: int X,Y; }; Point::Point(Point p) { X=p.X; Y=p.Y; cout调用拷贝构造函数\n; } Point fun2() { Point

文档评论(0)

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

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

1亿VIP精品文档

相关文档