第十三周项目1-分数类中的运算符重载——1
来源:互联网 发布:直销系统源码 编辑:程序博客网 时间:2024/06/11 10:11
/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称 :*作 者 : 徐聪*完成日期 : 2016年5月26号*版 本 号 : v6.0**问题描述 :*/#include<iostream>using namespace std;class CFraction{private: int nume; //分子 int deno; //分母public: CFraction(int n=1,int d=1):nume(n),deno(d){} CFraction operator+(CFraction &c1); CFraction operator-(CFraction &c1); CFraction operator*(CFraction &c1); CFraction operator/(CFraction &c1); friend int compare(CFraction &c1,CFraction &c2); void qualify(); void show()const;};CFraction CFraction::operator+(CFraction &c1){ return CFraction(c1.deno*nume+c1.nume*deno,deno*c1.deno);}CFraction CFraction::operator-(CFraction &c1){ return CFraction(c1.deno*nume-c1.nume*deno,deno*c1.deno);}CFraction CFraction::operator*(CFraction &c1){ return CFraction(nume*c1.nume,deno*c1.deno);}CFraction CFraction::operator/(CFraction &c1){ return CFraction(nume*c1.deno,deno*c1.nume);}int compare(CFraction &c1,CFraction &c2){ if(c1.deno!=c2.deno) { if(c1.deno>c2.deno) return 0; else return 1; } if(c1.deno==c2.deno) { if(c1.nume>c2.nume) return 1; else return 0; }}void CFraction::qualify(){ int k=1,n=nume,d=deno; while(deno!=0) { k=nume%deno; nume=deno; deno=k; } n=n/nume; d=d/nume; nume=n; deno=d;}void CFraction::show()const{ cout<<nume<<'/'<<deno<<endl;}int main(){ CFraction c1(1,2),c2(3,4),c3; c3=c1+c2; c3.qualify(); c3.show(); c3=c1-c2; c3.qualify(); c3.show(); c3=c1*c2; c3.qualify(); c3.show(); c3=c1/c2; c3.qualify(); c3.show(); return 0;}
运行结果
0 0
- 第十三周项目 1分数类中的运算符重载
- 第十三周【项目 1分数类中的运算符重载】
- 第十三周上机时间项目——项目1-分数类中的运算符重载
- 第十三周项目1-分数类中的运算符重载——1
- 第十三周项目1-分数类中的运算符重载——2
- 第十三周项目1——分数类中的运算符重载
- 第十三周上机实践——项目1-分数类中的运算符重载
- 第十三周项目1.2—分数中的运算符重载
- 第十三周项目1.3—分数中的运算符重载
- 第十三周项目1.2—分数中的运算符重载
- 第十三周项目1.3—分数中的运算符重载
- C++ 第十三周 多态性 项目1【项目1-分数类中的运算符重载】
- 第十三周项目-项目1-分数类中的运算符重载
- 第十三周项目-项目1-(2)-分数类中的运算符重载
- 第十三周项目-项目1-(3)分数类中的运算符重载
- 第十三周上机实践项目 项目1--分数类中的运算符重载
- 第十三周项目58-分数类中的运算符重载
- 第十三周项目一-分数类中的运算符重载
- Android Volley框架的使用
- Python基础学习笔记之(二)
- 用jQuery获取标签下标
- C++ 容器 vector
- 第十三周实践项目-阅读下面的程序,并写出运行结果(3)
- 第十三周项目1-分数类中的运算符重载——1
- 对象类型的转换
- 编程遇到android.view.InflateException: Binary XML file line #11: Error inflating class
- C#网络编程,传输数据的3种方式
- 面试题12:打印1到最大的n位数-大数问题-递归实现多层循环
- Codeforces Round #353 (Div. 2) B.Restoring Painting
- 隐藏分区设置与查看
- Alert Log中“Fatal NI connect error 12170”错误问题
- jQuery对象和DOM对象区别和联系