C++ 分数的加减乘除(运算符重载)
题目描述
Fraction类的基本形式如下:
要求如下:
1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。
2.编写main函数,初始化两个Fraction对象的,计算它们之间的加减乘除。
输入
第1行:依次输入第1个和第2个Fraction对象的分子和分母值。输出
每行依次分别输出加减乘除计算后的Fraction对象(直接输出分数值,不需要约简)。样例输入
1 3 2 5
样例输出
fraction=11/15
fraction=-1/15
fraction=2/15
fraction=5/6
#include<iostream>
#include <cstring>
using namespace std;
class Fraction{private:int numerator,denominator;int common_divisor(){ };int contracted(){ };public:Fraction(int a=1,int b=2){numerator=a;denominator=b;}Fraction(Fraction& f){numerator=f.numerator;denominator=f.denominator;}Fraction operator+(Fraction& f){Fraction temp; temp.numerator=numerator*f.denominator+f.numerator*denominator;temp.denominator=denominator*f.denominator;return temp;}Fraction operator-(Fraction& f){Fraction temp; temp.numerator=numerator*f.denominator-f.numerator*denominator;temp.denominator=denominator*f.denominator;return temp;}Fraction operator*(Fraction& f){Fraction temp; temp.numerator=numerator*f.numerator;temp.denominator=denominator*f.denominator;return temp;}Fraction operator/(Fraction& f){Fraction temp; temp.numerator=numerator*f.denominator;temp.denominator=denominator*f.numerator;return temp;}void Set(int a,int b){numerator=a;denominator=b;}void disp(){cout<<"fraction="<<numerator<<"/"<<denominator<<endl;}
};
int main(){int a,b;cin>>a>>b;Fraction f1(a,b);cin>>a>>b;Fraction f2(a,b);Fraction f3;f3=f1+f2;f3.disp();f3=f1-f2;f3.disp();f3=f1*f2;f3.disp();f3=f1/f2;f3.disp();
}
运算符重载的概念
运算符重载是通过函数实现的,运算符的重载即函数的重载。运算符重载符函数的一般形式为:
返回类型 operator 运算符符号(参数说明)
C++ 分数的加减乘除(运算符重载)相关推荐
- 定义分数类中和运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作 者:李德彪 *完成时间:2016年6月15日 * ...
- 运算符重载例子分数加减乘除,赋值,输入输出比较大小
把老师代码上传一下,方便用移动设备时刻查看 //有理数类的运算符重载 #include <iostream> using namespace std; class Rational{pri ...
- 第十三周项目一-分数类中的运算符重载
/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月25日*版 本 号:v1. ...
- C++运算符重载典型习题---复数类 String类 分数类
一.复数类(Complex class) complex.cpp: /***************************************************** copyright ( ...
- 8-3 实现分数类中的运算符重载
/* * 作 者: 霍雨佳 * 完成日期:2014 年4月15日 * 版 本 号:v1.0 * 问题描述:实现分数类中的运算符重载 * 样例输入: * 样例输出: * 项目要求:实现分数类中的运算符重 ...
- [C++]分数类的定义(成员函数、运算符重载)
[C++]分数类的定义(成员函数.运算符重载) 1 分数类成员和成员函数 1.1 分数类成员 1.2 分数类的成员函数 1.3 分数类的io操作 1.4 分数类的预定义 2 成员函数定义 2.1 化简 ...
- 小甲鱼c++学习视频之运算符重载
一.学习要点: 1.将分数定义为一个类,简化处理过程,面向对象的思维,不仅有数据,还可以对一个分数进行操作,比如约分操作,加减乘除操作. 2.类的私有成员只能通过成员函数进行访问. 3.分数的约分过程 ...
- 项目3-分数类中的运算符重载
/* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:王静 * 完成日期:2013 年 5 月 5 日 * 版 本 号:v1. ...
- /项目3-分数类中的运算符重载
/* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:王静 * 完成日期:2013 年 4 月 24 日 * 版 本 号:v1 ...
最新文章
- GUI(三)一个菜单的程序
- 【Pygame小游戏】这款休闲游戏你肯定了解过《开心消消乐》更新版本上线,好土好喜欢
- python+appium判断元素存在_python自动化测试应用--Appium元素篇
- 剖析 .NET 托管提供程序
- 游戏AI之决策结构—行为树
- 继BAT之后 第四大巨头是谁
- 前端如何进行日志驱动开发
- Intelij 添加php注释
- 设置mysql acquisition_MYSQL 7*24 高可用环境的部署
- Code Review
- pythonopencv人脸相似度_图像相似度算法的个人见解(pythonopencv)-Go语言中文社区...
- C#网络编程----文件流
- 机器人弹性伸缩算法-专利技术交底书
- 微信小程序JSON数据提取问题
- 去除360安全卫士的广告弹窗(亲测有效)
- php 随机几率,php 随机概率程序算法
- CSS3无限滚动(无线循环滚动)
- selenium中键盘操作
- 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接,中断与此服务器或共享资源的所有连接,然后再试一次
- 【免费股票数据接口|实测可用|史上最全】沪深A股实时交易数据数据API接口
热门文章
- CC1121和CC1101的区别
- Centos6解决You could try using --skip-broken to work around the problem,rpm -Va --nofiles --nodigest问题
- 全国省市区数据SQL - 2017年数据
- [Err] 1064 - can't suport district table ALARMINFO schema:alarmDate for mutiple dataNode [dn3, dn4]
- 操作系统原理学习笔记(二十一)-对换
- 新手小白学3D建模,这些主流软件特征你怎么能比别人晚知道!
- 乐优商城源码/数据库及笔记总结
- ios 微博登录 21338错误 sso package or sign error
- Gym/100753 Divisions (大数分解质因数)
- 第十六届全国大学生智能汽车竞赛---英飞凌芯片支持计划