C++综合实验报告.doc_第1页
C++综合实验报告.doc_第2页
C++综合实验报告.doc_第3页
C++综合实验报告.doc_第4页
C++综合实验报告.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北科技学院计算机系综合性实验报告华北科技学院计算机系综合性实验实 验 报 告 课程名称 C+程序设计B 实验学期 2011 至 2012 学年 第 1 学期学生所在系部 年级 专业班级 学生姓名 学号 任课教师 实验成绩 计算机系制实验报告须知1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、 教师应该填写的内容包括:实验成绩、教师评价等。4、 教师根据本课程的综合性实验指导单中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、 未尽事宜,请参考该课程的实验大纲和教学大纲。C+程序设计B课程综合性实验报告开课实验室:基础五 2011年6月20日实验题目复数类的设计一、实验目的掌握类的概念及构造方法;掌握构造函数的定义与使用;掌握友元的定义与使用;掌握运算符的重载定义与使用。二、设备与环境微型计算机、Windows 系列操作系统 、Visual C+6.0软件三、实验内容设计复数类,重载+,-,*,/,等运算符。编程设计实现下列函数: MyComplex(); MyComplex(int a); MyComplex(int a,int b) ; MyComplex(const MyComplex& v) ; Mycomplex& operator=(const Mycomplex& rhs); Mycomplex& operator+=(const Mycomplex& rhs); Mycomplex& operator-=(const Mycomplex& rhs); Mycomplex& operator*=(const Mycomplex& rhs); Mycomplex& operator/=(const Mycomplex& rhs); friend MyComplex operator+(MyComplex m,MyComplex n) ; friend MyComplex operator-(MyComplex m,MyComplex n) ; friend MyComplex operator*(MyComplex m,MyComplex n) ; friend MyComplex operator/(MyComplex m,MyComplex n) ; friend ostream& operator(istream& s,MyComplex& t); 四、实验结果及分析1、题目分析及设计思路题目要求实现复数的运算,首先创建一个类,其成员函数主要包括构造函数、拷贝函数、单目运算符的重载函数和双目运算符重载友元函数,然后是函数体的实现及主函数实现。2、实验结果及分析程序:#include#includeclass mycomplex/类的声明private:/私有数据double real;/ 实部double imag;/虚部public:/公共数据 mycomplex(); mycomplex(double a); mycomplex(double a,double b); mycomplex(const mycomplex&v); mycomplex& operator=(const mycomplex& rhs); mycomplex& operator+=(const mycomplex& rhs); mycomplex& operator-=(const mycomplex& rhs); mycomplex& operator*=(const mycomplex& rhs); mycomplex& operator/=(const mycomplex& rhs); friend mycomplex operator+(mycomplex m,mycomplex n); friend mycomplex operator-(mycomplex m,mycomplex n); friend mycomplex operator*(mycomplex m,mycomplex n); friend mycomplex operator/(mycomplex m,mycomplex n); friend ostream& operator(istream& s,mycomplex& t); void display() cout(real+imagi)endl; ;mycomplex:mycomplex()real=0;imag=0;mycomplex:mycomplex(double a)real=a;imag=0;mycomplex:mycomplex(double a,double b)real=a;imag=b; mycomplex:mycomplex(const mycomplex&v)real=v.real;imag=v.imag;mycomplex& mycomplex:operator =(const mycomplex& rhs)real=rhs.real;imag=rhs.imag;return *this;mycomplex& mycomplex:operator +=(const mycomplex& rhs) real=real+rhs.real;imag=imag+rhs.imag;return *this;mycomplex& mycomplex:operator -=(const mycomplex& rhs)real=real-rhs.real;imag=imag-rhs.imag;return *this;mycomplex& mycomplex:operator *=(const mycomplex& rhs)real=real*rhs.real;imag=imag*rhs.imag;return *this;mycomplex&mycomplex:operator /=(const mycomplex& rhs)real=real/rhs.real;imag=imag/rhs.imag;return *this;mycomplex operator+(mycomplex m,mycomplex n)/加法return mycomplex(m.real+n.real,m.imag+n.imag);mycomplex operator-(mycomplex m,mycomplex n)/减法return mycomplex(m.real-n.real,m.imag-n.imag);mycomplex operator*(mycomplex m,mycomplex n)/乘法return mycomplex (m.real*n.real-m.imag*n.imag,m.real*n.imag+m.imag*n.real);mycomplex operator/(mycomplex m,mycomplex n)/除法return mycomplex(m.real*n.real+m.imag*n.imag)/(n.real*n.real+n.imag*n.imag),(m.imag*n.real-m.real*n.imag)/(n.real*n.real+n.imag*n.imag);ostream& operator(ostream& s,mycomplex t)/输出流重载s(t.real+t.imagi)(istream& s,mycomplex& t)/输入流重载st.realt.imag;return s;int main()double a,b,c,d;coutinput the first mycomplex m:ab;mycomplex m(a,b);coutinput the second mycomplex n:cd;mycomplex n(c,d); /m.display();/n.display();coutm=mendl;coutn=nendl;coutm+n=m+nendl;coutm-n=m-nendl;coutm*n=m*nendl;coutm/n=m/nendl;return 0;结果4、实验心得及体会众所周知,在C+中,面向对象的核心思想就是封装、继承、多态。每个对象都是由数据和函数这两部分组成的。所谓多态性是指:由继承性而产生的相关的不同的类,其对象对同一消息会做出不同的响应。而此次运算符重载的实验就很好地体现了其多态性,增加了程序的灵活性。本实验是为运算符编写重载函数,实现复数的运算。所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此,同一个函数名就可以用来代表不同功能的函数,也就是一名多用。通过此次实验,我更加清晰的了解到了C+的基本的程序规则和编程思想,通过对类和对象的理解以及对其成员变量和成员函数、友元函数的使用,使得自己可以通过面向对象的方法并运用程序设计语言来解决实际问题,对自己有很大的帮助。在实验中也发现自身有很多不足,比如说对重载运算符的规则不太熟悉,对函数的应用有很多不足

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论