. .. .信息学院课程设计设计名称:面向对象课程设计设计题目:重载运算符学生:学生学号:11专业班级: 计1501指导教师:起止日期:2017.6.19~2017.6.30摘要在本次实验中,要求我编写一个程序,目的是实现处理一个复数和一个double 数相加的运算的功能,结果存放在一个double型的变量d1中,输出d1的值,再以复数形式输出此值。
在完成这个设计的时候,需要注意的要点之一是需要定义Complex(复数)类,在成员函数中包含重载类型转换运算符。
这样才能有效的完成复数与double类型数的运算并能更好地完成试验题目要求的设计。
在本次设计中,以最便捷完成要求的功能为前提,要求使用C++完成。
由于使用C++已经有了一些经验,在完成题目的同时还应该尽量减少存的占用,并尽量减少输出程序的复杂度和时间。
关键词类,对象ABSTRACTIn this experiment, I asked to write a program, the purpose is to achieve a complex number and a double number of the operation of the operation, the results stored in a double variable d1, the output d1 value, and then in the plural form of output This value. One of the points to note when completing this design is the need to define the Complex class, which contains the overloaded type conversion operator in the member function. So as to effectively complete the complex number and double type of operation and can better complete the design of the test requirements. In this design, the most convenient to complete the required function as a prerequisite, requires the use of C + + to complete. As a result of the use of C + + already have some experience in the completion of the problem at the same time should also minimize the memory footprint, and minimize the complexity of the output process and time.Keywords: Class, object目录第1章设计目的 (5)第2章设计要求 (6)第3章总体方案 (7)第4章具体实现 (8)总结 (10)致 (11)参考文献 (12)教师评阅成绩 (13)第1章设计目的将理论教学中涉及到的知识点贯穿起来,对不同的类、对象、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:1、进一步巩固、加深学生所学专业课程《C/C++语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
2、全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
3、利用所学知识,开发小型应用软件,掌握运用C++面向对象编写调试应用程序,训练独立开发应用系统,进行数据处理的综合能力。
4、对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
5、掌握面向对象的设计方法,领会面向对象程序设计的方法。
6、熟练掌握C++语言的基本语法,灵活运用各种数据类型。
7、进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
第2章设计要求1. 根据所学习的知识,每人选择一题目。
2. 课程设计过程的要求1)创建类并使用类对象完成相应的任务。
2)设计中的每一个功能均由类对象来完成。
3)理解工程的概念和头文件的使用。
4)深入理解封装、继承、和多态这面向对象的编程的特点。
3.课程设计报告容的要求1)设计题目2)系统环境(硬件环境、软件环境)3)设计容4)绘制流程图及模块图5)程序清单6)设计中遇到的问题及解决方案7)心得体会8)参考文献4.课程设计报告撰写的要求1)在WORD下进行排版并打印报告,一律用A4大小的纸,并严格按照统一封面进行填写和打印;排列清晰,绘图细致。
2)严禁抄袭程序或报告,否则以零分计。
第3章总体方案第4章具体实现程序代码#include <iostream>#include <iomanip>using namespace std;class Complex{public:Complex();Complex(double r);Complex(double r,double i);operator double();void display();private:double real;double imag;};Complex::Complex(){real=0;imag=0;}Complex::Complex(double r){real=r;imag=0;}Complex::Complex(double r,double i){real=r;imag=i;}void Complex::display(){cout<<"("<<real<<", "<<imag<<")"<<endl; }Complex::operator double(){return real;}int main(){cout<<setiosflags(ios::fixed);cout<<setprecision(2);double real,imag;cin>>real>>imag;Complex c1(real,imag);double d1;cin>>d1;d1=d1+c1;cout<<"d1="<<d1<<endl;Complex c2=Complex(d1);cout<<"c2=";c2.display();return 0;}总结在重载运算符类型的程序设计中,有效的复习了C++的有关知识。
同时,让我们回顾已学过的C++以及程序设计相关的知识,并对知识灵活运用、重新组合。
在完成全部程序之后,充分的复习了C++函数相关的知识,在函数调用、传值的方式中,得到了充分的练习,在今后的学习中,应当脚踏实地,不可冒失急进。
相信通过本次的面向对象的程序设计的课程设计之后,我一定能在计算机程序设计发展的道路上走得越来越远。
致在在老师的细心指导下,同学齐心协力的努力帮助下,这个重载运算符类型的程序的设计完成较好,在设计的过程中我们遇到了很多困难,有很多问题通过我们的教科书是解决不了的,但是我一方面可以通过老师的指点,找出问题的所在,;另一方面我们可以通过学校的借书条件,从学校的图书馆获得我们想要的资料。
总之,在这次成功设计的过程中,学校也给了我一个和老师交流探讨,与同学合作、实践操作完成的机会,我将在以后的学习和工作过程中充分运用所学知识,也会尽我所能学的更多知识,不辜负各位老师的期望。
在最后,我祝愿所有的老师们,事业顺利,生活幸福!参考文献[1]Cohoon J P,Davidson J W,C++程序设计,瑞挺,毅刚,盛素英,清嘉,译,:电子工业,2002[2]谭浩强,C++程序设计,:清华大学,2004[3]Overland B,C++语言命令详解,董梁,君成,自更,译,:电子工业,2000(第二版)[4]陆岛编.工业电脑的安装与使用.:印刷工业,1994 (TP305/1)(介绍日本立石公司OMRON(又称欧姆龙)C系列PLC)[5]维兴,林小茶.C++面向对象程序设计教程.:清华大学,2009 (第三版)[6]维兴,林小茶,C++面向对象程序设计,:中国铁道,2004[7]维兴,昕,林小茶,C++面向对象程序设计习题解答与实验指导,:清华大学,2005[8]维克托·迈尔-舍恩博格,肯尼斯·库克耶,大数据时代,盛阳燕,周涛,译,人民,2014教师评阅成绩设计成果占30%,设计期间平时表现占20%,答辩表现占50%。
成绩评定依据总评分采用优、良、中、及格、不及格等五级,平时评定、答辩评定和成果评定均以百分制给出。
标准如下:。