[专业课]综合实验报告格式.doc_第1页
[专业课]综合实验报告格式.doc_第2页
[专业课]综合实验报告格式.doc_第3页
[专业课]综合实验报告格式.doc_第4页
[专业课]综合实验报告格式.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

华北科技学院计算机系综合性实验报告综合性实验实 验 报 告 课程名称 面向对象的程序设计C+ 实验学期 至 学年 第 学期学生所在系部 年级 专业班级 学生姓名 学号 任课教师 实验成绩 计算机系制1、 面向对象程序设计C+课程综合性实验报告开课实验室:基础五 2011年12月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、题目分析及设计思路该题目利用c+编程实现运算符重载。在设计这个程序时,首先构造一个MyComplex的类,在这个类里面,构造成员函数和友元函数,对重载运算符的定义,然后对各个重载函数在类体外对函数进行定义和声明,最后有一个主函数运行这些重载函数实现运算符的重载,这就是整个程序的设计思路。2、实验结果及分析3、复数类功能及主要代码分析建立一个运算符重载的类:class mycomplexpublic:mycomplex()real=0;imag=0;mycomplex(double r,double i)real=r;imag=i;mycomplex& operator+=(const mycomplex &rhs);mycomplex& operator-=(const mycomplex &rhs);mycomplex& operator*=(const mycomplex &rhs);mycomplex& operator/=(const mycomplex &rhs);friend mycomplex operator+(mycomplex&c1,mycomplex&c2);friend mycomplex operator-(mycomplex&c1,mycomplex&c2);friend mycomplex operator*(mycomplex&c1,mycomplex&c2);friend mycomplex operator/(mycomplex&c1,mycomplex&c2);friend ostream& operator(istream& ,mycomplex&); void display();private:double real;double imag;建立一个类是对类中的函数进行定义和变量进行赋初值。运算符+的重载:mycomplex operator+(mycomplex&c1,mycomplex&c2)/定义运算符+重载函数return mycomplex(c1.real+c2.real,c1.imag+c2.imag);/定义重载函数的函数体运算符-的重载:mycomplex operator-(mycomplex&c1,mycomplex&c2)return mycomplex(c1.real-c2.real,c1.imag-c2.imag);运算符*的重载:mycomplex operator*(mycomplex&c1,mycomplex&c2)return mycomplex(c1.real*c2.real,c1.imag*c2.imag);运算符/的重载:mycomplex operator/(mycomplex&c1,mycomplex&c2)return mycomplex(c1.real/c2.real,c1.imag/c2.imag);运算符的重载:ostream& operator(ostream& output,mycomplex &c)output(c.real +c.imag 的重载:istream& operator(istream& input,mycomplex&c)coutc.realc.imag;return input;运算符+=的重载:mycomplex& mycomplex:operator +=(const mycomplex &rhs) real+= rhs.real; imag+=rhs.imag; return *this; 运算符-=的重载:mycomplex& mycomplex:operator -=(const mycomplex &rhs) real-= rhs.real; imag-=rhs.imag; return *this; 运算符*=的重载:mycomplex& mycomplex:operator *=(const mycomplex &rhs) real*= rhs.real; imag*=rhs.imag; return *this; 运算符/=的重载:mycomplex& mycomplex:operator /=(const mycomplex &rhs) real/= rhs.real; imag/=rhs.imag; return *this; 主函数:int main()mycomplex c1,c2,c3,c4,c5,c6,b,b1,b2,b3,b4;/定义变量cinc1c2b;/输入变量的值coutc1=c1endl;coutc2=c2endl;coutb=bendl; c3=c1+c2;/运行重载函数 c4=c1-c2; c5=c1*c2; c6=c1/c2; b1=b; b1+=c1; coutb1+=c1:; b1.display (); b2=b; b2-=c1; coutb2-=c1:; b2.display (); b3=b; b3*=c1; coutb3*=c1:; b3.display (); b4=b; b4/=c1; coutb4/=c1:; b4.display (); coutc1=; c1.display (); coutc2=; c2.display (); coutc1+c2=; c3.display (); coutc1-c2=; c4.display (); coutc1*c2

温馨提示

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

最新文档

评论

0/150

提交评论