资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
面向对象程序设计上机报告题目:第二次上机班级: 学号: 姓名:上机时间:一、题目要求1阅读程序,预测功能,再上机编辑、运行该程序,以验证自己的预测。【思考与练习】1构造函数的作用以及在什么情况下调用构造函数。作用:不需要用户来调用它,在建立对象时自动识别它,有用户定义,根据初始化的要求设计函数体和函数参数。2在什么情况下拷贝构造函数被调用。在以下三种情况下,系统自动调用拷贝构造函数。 当用类的一个对象去初始化该类的另一个对象时; 如果函数的形参是类的对象,调用函数,进行形参和实参的结合时; 如果函数的返回值是类的对象,函数执行完成返回调用者时。3构造一个圆柱体的类,定义该类对象a,再定义一个和a 同底等高的圆柱体b,计算a 圆柱体的底面积,计算b 圆柱体的体积。二1.定义一个复数类,通过重载运算符: +,-,*,/,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求加法“+”用成员函数实现重载,减法“-”用成员函数实现重载。乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。上机要求增加重载复数的加法和减法运算符的功能,实现两个复数的加法,一个复数与一个实数的加法;两个复数的减法,一个复数与一个实数的减法。用成员函数实现加法运算符的重载,用友元函数实现减法运算符的重载。自已设计主函数,完成程序的调试工作二、题目分析3,构造函数,通过调用函数实现运算。2,运用运算符的重载。三、源代码1.1#include class Pointpublic: Point(int xx = 0, int yy = 0)X = xx; Y = yy;coutclass Pointpublic:Point(int xx = 0,int yy = 0)X = xx; Y = yy;coutclass Pointpublic:Point(int xx=0,int yy=0)X = xx; Y = yy;coutusing namespace std;class Pointpublic:Point(int,int);Point(Point int volume();int area();private:int radius;int height;Point:Point(int r,int h)radius=r;height=h;Point:Point(Point &p)radius=p.radius;height=p.height;coutclass Complexpublic:Complex()real=0;imag=0;Complex(double r)real=r;imag=0;Complex(double r,double i)real=r;imag=i;friend Complex operator + (Complex c1,Complex c2);friend Complex operator - (Complex c1,Complex c2);void display();private:double real;double imag;Complex operator + (Complex c1,Complex c2)return Complex(c1.real+c2.real, c1.imag+c2.imag);Complex operator - (Complex c1,Complex c2)return Complex(c1.real-c2.real, c1.imag-c2.imag);void Complex:display()cout(real+imagi)endl;int main()Complex c1(1,5),c2(2,8),c3,c4;c3=c1+c2;c4=c1-c2;c3.display();c4.display();return 0;四、运行记录和调试过程1.1输出:调用构造函数调用拷贝构造函数3Press any key to continue思考:1,将 b 行改写为 Point B = A; 程序输出结果会有变化吗?答:没有变化。输出:调用构造函数调用拷贝构造函数3Press any key to continue2,将b 行改写为Point B; B = A; 程序输出结果会有变化吗?答:有变化。输出:调用构造函数调用构造函数3Press any key to continue1.2输出:调用构造函数调用拷贝构造函数4调用拷贝构造函数4Press any key to continue1.3输出:调用构造函数调用拷贝构造函数4调用构造函数调用拷贝构造函数10Press any key to continue思考 3输出The area of c1 is 12调用拷贝构造函数The volume of c2 is 62Press any key to continue2输出(3+13i)(-1+-3i)Press any key to continue五、心得体会通过这次上机,了解了运算符的重载,实现了复数的运算,也认识到了自己更多的不足,会继续努力。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号