第十三周项目二:分数类中的运算符重载(1)
来源:互联网 发布:淘宝棚拍模特布光技巧 编辑:程序博客网 时间:2024/06/04 18:28
问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:崔青青 *完成日期:2016年5月31日 *版 本 号:v1.0 *问题描述: *输入描述:无 *输出描述:无 */ #include <iostream>using namespace std;class CFraction{private: int nume;//分子 int deno;//分母public: //构造函数以及运算符重载函数声明。 CFraction(int n=0,int d=0){nume=n;deno=d;} CFraction operator+(CFraction &c2); CFraction operator-(CFraction &c2); CFraction operator*(CFraction &c2); CFraction operator/(CFraction &c2); void display(); };//重载函数的实现以及用于测试的main函数。void CFraction::display(){ cout<<"分子:"<<nume<<" "<<"分母"<<deno<<endl;}CFraction CFraction::operator+(CFraction &c2){ CFraction c; if(deno==c2.deno) { c.deno=deno; c.nume=nume+c2.nume; } else { c.deno=deno*c2.deno; nume=nume*c2.deno; c2.nume=c2.nume*deno; c.nume=nume+c2.nume; } return c;}CFraction CFraction::operator-(CFraction &c2){ CFraction c; if(deno==c2.deno) { c.deno=deno; c.nume=nume-c2.nume; } else { c.deno=deno*c2.deno; nume=nume*c2.deno; c2.nume=c2.nume*deno; c.nume=nume-c2.nume; } return c;}CFraction CFraction::operator*(CFraction &c2){ CFraction c; c.nume=nume*c2.nume; c.deno=deno*c2.deno; return c;}CFraction CFraction::operator/(CFraction &c2){ CFraction c; c.nume=nume*c2.deno; c.deno=deno*c2.nume; return c;} int main(){ CFraction c1(2,3),c2(3,4),c3; c3=c1+c2; c3.display(); c3=c1-c2; c3.display(); c3=c1*c2; c3.display(); c3=c1/c2; c3.display(); return 0;}
运行结果:
知识点总结:
运算符重载要注意声明函数时的写法,在构造函数式时的写法,在main函数中操作时有两种方式。
学习心得:
运算符重载函数是很方便的一类函数,但是需要注意的问题也有很多。
0 0
- 第十三周项目 1分数类中的运算符重载
- 第十三周【项目 1分数类中的运算符重载】
- 第十三周项目二:分数类中的运算符重载(1)
- 第十三周项目58-分数类中的运算符重载
- 第十三周项目一-分数类中的运算符重载
- 第十三周项目一-分数类中的运算符重载
- 第十三周项目:分数类中的运算符重载
- 第十三周项目二:分数类中的运算符重载(2)
- 第十三周项目二:分数类中的运算符重载(3)
- 第十三周项目二:分数类中的运算符重载(4)
- C++ 第十三周 多态性 项目1【项目1-分数类中的运算符重载】
- 第十三周项目-项目1-分数类中的运算符重载
- 第十三周项目-项目1-(2)-分数类中的运算符重载
- 第十三周项目-项目1-(3)分数类中的运算符重载
- 第十三周上机实践项目 项目1--分数类中的运算符重载
- 第十三周上机时间项目——项目1-分数类中的运算符重载
- 第十三周项目1-分数类中的运算符重载——1
- 第十三周项目1-分数类中的运算符重载(1)
- .vimrc 配置
- 字符拷贝和字节拷贝文件对比(FileInputStream,FileOutputStream, FileReader, FileWriter)
- Tomcat部署Web应用方法总结
- Struts要点总结(下)
- HashMap TreeMap LinkedMap HashTable
- 第十三周项目二:分数类中的运算符重载(1)
- Linux下的PCB:task_struct
- 有趣的数列 [Codevs 2337,Bzoj 1485,HNOI2009]
- LightOJ 1294:Positive Negative Sign
- OC语言11-类的深入和分类
- 第十三周项目二-动物这样叫(1)
- MP4文件格式详解——文件类型ftyp
- rman中obsolete&expired
- leetcode解题思路---1——30题