




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Xb14610128 C 实验 2 1 实验二 运算符重载 班级 电子信息工程 1 班 学号 Xb14610128 姓名 汪丽娟 1 实验目的 实验目的 1 学习定义和使用重载运算符 2 熟悉拷贝构造函数 2 实验任务实验任务 1 对比通过函数来实现复数相加和通过重载运算符实现复数相加的不同之处 2 定义一个有理数类 Rational 包含分子和分母两个属性 为其重载四则运算和输入输出流 以使用 cin 和 cout 对 Rational 的对象进行输入和输出 3 定义 RMB 类 数据成员有 yuan jf 请为该类定义构造函数 并重载 选做 定义账户类 有账号 户名 余额等属性 具有存款 取款等操作 可以把 RMB 类对象作为成员 进行 存取款操作 4 若有如下类 请重载赋值运算符 解决指针悬挂的问题 3 设计思路 设计思路 1 通过函数来实现复数相加时是在 Complex 类外定义一个 Complex 类的成员函数 Complex add 而通 过重载运算符实现复数相加是运用了 函数 operator 重载了运算符 在执行复数相加时的表达式 c1 c2 时 系统会调用 operator 函数 把 c1 和 c2 作为实参 与形参进行虚实结合 2 用了友元函数实现输入输出 定义 Rational 类使用构造函数来实现调用 重载运算符实现加减 3 用了友元函数实现输入输出 定义 RMB 类使用构造函数来实现调用 重载运算符实现加减 4 列出代码 列出代码 任务一 任务一 通过函数来实现复数相加 include class Complex public Complex real 0 imag 0 Xb14610128 C 实验 2 2 Complex double r double i real r imag i Complex complex add Complex void display private double real double imag Complex Complex complex add Complex c real real c2 real c imag imag c2 imag return c void Complex display cout real imag i endl int main Complex c1 3 4 c2 5 10 c3 c3 plex add c2 cout c1 c1 display cout c2 c2 display cout c1 c2 c3 display return 0 通过重载运算符实现复数相加 include class Complex public Complex real 0 imag 0 Complex double r double i real r imag i Complex operator Complex void display private double real double imag Complex Complex operator Complex c real real c2 real c imag imag c2 imag return c void Complex display cout real imag i endl int main Complex c1 3 4 c2 5 10 c3 c3 c1 c2 cout c1 c1 display cout c2 c2 display cout c1 c2 c3 display return 0 Xb14610128 C 实验 2 3 任务二 任务二 include include include using namespace std class Rational private int numberator int denominator int Gcd int p int q public Rational Rational int a int b void set int a int b void Print Rational Add Rational a void Div Rational a Rational Sub Rational a Rational Mul Rational a Rational Rational numberator 1 denominator 1 Rational Rational int a int b numberator a denominator b void Rational set int a int b numberator a denominator b int Rational Gcd int p int q int r if p q r p p q q r r p q while r 0 p q q r r p q return q void Rational Print cout numberator denominator Rational Rational Add Rational a int tmp Rational v if a numberator 0 v denominator 1 return v v numberator numberator a denominator denominat or a numberator v denominator denominator a denominator tmp Gcd v denominator v numberator v denominator v denominator tmp v numberator v numberator tmp return v Rational Rational Sub Rational a int tmp Rational v v numberator numberator a denominator denominator a numberator v denominator denominator a denominator if v numberator 0 return v tmp Gcd v denominator v numberator v denominator v denominator tmp v numberator v numberator tmp return v Rational Rational Mul Rational a int tmp Rational v if a numberator 0 numberator 0 v numberator 0 v denominator 1 return v v denominator denominator a denominator v numberator numberator a numberator tmp Gcd v denominator v numberator v denominator v denominator tmp v numberator v numberator tmp return v void Rational Div Rational a int tmp Rational v if a numberator 0 Xb14610128 C 实验 2 4 cout 除数为零 无法完成除法运算 endl else if numberator 0 v numberator 0 v denominator 1 v Print else v denominator denominator a numberator v numberator numberator a denominator tmp Gcd v denominator v numberator v denominator v denominator tmp v numberator v numberator tmp v Print int main void cout 本程序模拟有理数的四则运算 n Rational one1 2 3 Rational one2 3 5 Rational hh 1 1 hh one1 Add one2 one1 Print cout one2 Print cout hh Print cout n hh one1 Sub one2 one1 Print cout one2 Print cout hh Print cout n hh one1 Mul one2 one1 Print cout one2 Print cout hh Print cout n one1 Print cout one2 Print cout one1 Div one2 cout n int x1 y1 x2 y2 cout x1 y1 x2 y2 one1 set x1 y1 one2 set x2 y2 hh one1 Add one2 one1 Print cout one2 Print cout hh Print cout n hh one1 Sub one2 one1 Print cout one2 Print cout hh Print cout n hh one1 Mul one2 one1 Print cout one2 Print cout hh Print cout n one1 Print cout one2 Print cout one1 Div one2 cout n return 0 任务三 任务三 Xb14610128 C 实验 2 5 include include using namespace std class RMB public RMB yuan 0 jf 0 RMB operator RMB RMB operator RMB friend ostream void display private int yuan jf ostream return input RMB RMB operator RMB r3 yuan yuan r2 yuan r3 jf jf r2 jf if r3 jf 100 r3 jf r3 jf 100 r3 yuan return r3 RMB RMB operator RMB int temp if yuan r2 yuan temp yuan yuan r2 yuan r2 yuan temp r4 yuan yuan r2 yuan r4 jf jf r2 jf if r4 jf 0 r4 jf r4 jf 100 r4 yuan return r4 void RMB display cout yuan jf r1 r2 r3 r1 r2 r4 r1 r2 cout r3 display cout r4 display return 0 include include using namespace std class RMB public RMB yuan 0 jf 0 RMB operator RMB RMB operator RMB friend ostream void display private int yuan jf ostream Xb14610128 C 实验 2 6 return input RMB RMB operator RMB r3 yuan yuan r2 yuan r3 jf jf r2 jf if r3 jf 100 r3 jf r3 jf 100 r3 yuan return r3 RMB RMB operator RMB int temp if yuan r2 yuan temp yuan yuan r2 yuan r2 yuan temp r4 yuan yuan r2 yuan r4 jf jf r2 jf if r4 jf 0 r4 jf r4 jf 100 r4 yuan return r4 void RMB display cout yuan jf r1 r2 r3 r1 r2 r4 r1 r2 cout r3 display cout r4 display return 0 任务四 任务四 include include include include Xb14610128 C 实验 2 7 using namespace std class String char ptr int n public String char s int a ptr new char strlen s 1 strcpy ptr s n a String operator String String delete ptr void print cout ptr endl String String operator String strcpy ptr p2 ptr return String p2 ptr p2 n int main String p1 Hello 8 String p2 chong qing 10 p2 p1 cout p2 p2 print cout p1 p1 print using namespace std class String char ptr int n public String char s int a ptr new char strlen s 1 strcpy ptr s n a String operator String String delete ptr void print cout ptr endl String String operator String strcpy ptr p2 ptr return String p2 ptr p2 n int main String p1 Hello 8 String p2 chong qing 10 p2 p1 cout p2 p2 print cout p1 p1 print include include using namespace std class String char ptr int n public String char s int a ptr new char strlen s 1 strcpy ptr s n a String operator String String delete ptr void print cout p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人力资源招聘面试技巧面试官必-备手册与模拟题集
- 2025年驻外机构招聘面试题解析
- 小树有多少了棵教学课件
- 对称图形 圆的教学课件
- 2025年学校安全管理知识测试题及答案
- 课件三维模型展示
- 2025年环境安全考试题及答案
- 2025年安全生产管理人员考试题库大全
- 2025年企业安全考核题库答案解析
- 2025年家庭安全知识手册题目及答案
- 《SPC统计过程控制》课件
- GB/T 40073-2021潜水器金属耐压壳外压强度试验方法
- GB/T 3624-2010钛及钛合金无缝管
- GB/T 14153-1993硬质塑料落锤冲击试验方法通则
- (完整版)人教版八年级下册《道德与法治》期末测试卷及答案【新版】
- 维护新疆稳定 实现长治久安课件
- 北京大学人民医院-医疗知情同意书汇编
- 档案管理员述职报告9篇
- 舞台灯光基础知识教学课件
- 牙体牙髓病最全课件
- 脑卒中的功能锻炼课件
评论
0/150
提交评论