C++运算符重载综合实验.doc_第1页
C++运算符重载综合实验.doc_第2页
C++运算符重载综合实验.doc_第3页
C++运算符重载综合实验.doc_第4页
C++运算符重载综合实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

华北科技学院计算机系综合性实验报告华北科技学院计算机系综合性实验实 验 报 告 课程名称 C+程序设计B 实验学期 2010 至 2011 学年 第 2 学期学生所在系部 计 算 机 系 年级 专业班级 学生姓名 学号 任课教师 实验成绩 计算机系制实验报告须知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、实验结果及分析3、复数类功能及主要代码分析=运算符重载MyComplex& MyComplex:operator=(const MyComplex& rhs) real=rhs.real; img=rhs.img; return *this; +=运算符重载MyComplex& MyComplex:operator+=(const MyComplex& rhs)real+= rhs.real;img+=rhs.img;return *this; -=运算符重载MyComplex& MyComplex:operator-=(const MyComplex& rhs)real-=rhs.real;img-=rhs.img;return *this;*=运算符重载MyComplex& MyComplex:operator*=(const MyComplex& rhs)real=rhs.real*real-img*rhs.img;img=real*rhs.img+img*rhs.real;return *this; /=运算符重载MyComplex& MyComplex:operator/=(const MyComplex& rhs)real=(real*rhs.real+img*rhs.img)/(rhs.img*rhs.img+rhs.real*rhs.real);img=(img*rhs.real-real*rhs.img)/(rhs.img*rhs.img+rhs.real*rhs.real);return *this; +运算符重载MyComplex operator+(MyComplex m,MyComplex n)MyComplex p;p.real=m.real+n.real;p.img=m.img+n.img;return p;-运算符重载MyComplex operator-(MyComplex m,MyComplex n)MyComplex p;p.real=m.real-n.real;p.img=m.img-n.img;return p;*运算符重载MyComplex operator*(MyComplex m,MyComplex n)MyComplex p;p.real=m.real*n.real-m.img*n.img;p.img=m.real*n.img+m.img*n.real;return p;/运算符重载MyComplex operator/(MyComplex m,MyComplex n)MyComplex p;p.real=(m.real*n.real+m.img*n.img)/(n.img*n.img+n.real*n.real);p.img=(m.img*n.real-m.real*n.img)/(n.img*n.img+n.real*n.real);return p;运算符重载ostream& operator(ostream& s,MyComplex t)if(t.img0)st.realt.imgi; elsest.real+t.img运算符重载istream& operator(istream& s,MyComplex& t)st.realt.img; return s; 4、实验心得及体会众所周知,面向对象的核心思想就是封装、继承、多态。而此次运算符重载就很好地体现了其多态性。为运算符编写了重载函数,实现复数的运算。通过此次实验,我熟悉了C+的基本的程序规则和编程思想,通过对类和对象的理解,及其成员变量和成员函数的使用,使得自己可以通过面向对象的方法并

温馨提示

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

评论

0/150

提交评论