问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++:定义分数类,可以对分数类对象的各种操作进行重载运算。1

发布网友 发布时间:2023-10-13 01:29

我来回答

2个回答

热心网友 时间:2024-12-03 02:01

#include "stdafx.h"
#include <iostream>
#include <exception>
using namespace std;

class CFraction {
public:
CFraction(const int Numerator,const int Denominator):m_Numerator(Numerator),m_Denominator(Denominator)
{
if (0 == Denominator)
{
throw exception("Denominator should not be zero");
}
int tmp = abs(*(m_Numerator,m_Denominator));
if (0<m_Numerator*m_Denominator)
{
m_Numerator = abs(m_Numerator/tmp);
}else
{
m_Numerator = -abs(m_Numerator/tmp);
}
m_Denominator /= tmp;
m_Denominator = abs(m_Denominator);
}

static int *(int m, int n){
if(m%n==0)
return n;
return *(n, m%n);
}
friend ostream& operator<<(ostream& out,const CFraction& object);
friend CFraction operator+(const CFraction& F1,const CFraction&F2);
friend CFraction operator-(const CFraction& F1,const CFraction&F2);
friend CFraction operator*(const CFraction& F1,const CFraction&F2);
friend CFraction operator/(const CFraction& F1,const CFraction&F2);
private:
int m_Numerator;
int m_Denominator;
};
ostream& operator<<(ostream& out,const CFraction& object) {
if (0 == object.m_Numerator)
{
return out<<"0";
}
if (object.m_Denominator == object.m_Numerator)
{
return out<<"1";
}
out<<object.m_Numerator<<"/"<<object.m_Denominator;
return out;
}

CFraction operator+(const CFraction& F1,const CFraction&F2)
{
int Numerator,Denominator;
Numerator = F1.m_Numerator * F2.m_Denominator + F2.m_Numerator*F1.m_Denominator;
Denominator = F1.m_Denominator*F2.m_Denominator;
return CFraction(Numerator,Denominator);
}

CFraction operator-(const CFraction& F1,const CFraction&F2)
{
int Numerator,Denominator;
Numerator = F1.m_Numerator * F2.m_Denominator - F2.m_Numerator*F1.m_Denominator;
Denominator = F1.m_Denominator*F2.m_Denominator;
return CFraction(Numerator,Denominator);
}

CFraction operator*(const CFraction& F1,const CFraction&F2)
{
int Numerator,Denominator;
Numerator = F1.m_Numerator * F2.m_Denominator - F2.m_Numerator*F1.m_Denominator;
Denominator = F1.m_Denominator*F2.m_Denominator;
return CFraction(F1.m_Numerator * F2.m_Numerator,F1.m_Denominator * F2.m_Denominator);
}

CFraction operator/(const CFraction& F1,const CFraction&F2)
{
if (0 == F2.m_Numerator)
{
throw exception("Denominator should not be zero");
}
int Numerator=F2.m_Denominator,Denominator=F2.m_Numerator;
return F1*CFraction(Numerator,Denominator);
}

int _tmain(int argc, _TCHAR* argv[])
{
CFraction aaa(1,2);
CFraction bbb(2,32);
CFraction ccc(54,-6);
CFraction ddd(-1,-5);
cout<<aaa<<endl;
cout<<bbb<<endl;

cout<<aaa+bbb<<endl;
cout<<aaa-bbb<<endl;
cout<<aaa*bbb<<endl;
cout<<aaa/bbb<<endl;
return 0;
}
闲的无聊。帮帮你吧

热心网友 时间:2024-12-03 02:01

#include<iostream>
#include<vector>

int main()
{
static std::vector<int> vec;
vec.push_back(vec.size());
std::cout<<vec[vec.size()-1]<<std::endl;
if (vec.size()<10)main();
return 0;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年四川570分能考上什么大学? 2024年四川文科560分能考上什么大学? 2024年广东561分能考上什么大学? 2024年江苏历史类561分能考上什么大学? 在形ABC中,角A.B.C所对的边分别为a.b.c,且acosB+bcosA=2c cos 求... ...B、C的对边分别为a、b、c,已知acosB+bcosA=2(bcosC+ccosB).(1... ...b、c的对边分别为a、b、c,且acosb+bcosa=2cosc 在△ ABC中,角A、B、C所对的边分别为a、b、c,已知b=cosA,c=2cosB,试... 在△ABC中,角A,B,C所对的边分别为a,b,c,且满足bcosA+acosB=2ccosC,△... ...对应的边分别为a、b、c,且满足aCOSB+bcosA=2cCOSC... 三星n900s外壳多少钱 什么是长期挂帐,多长时间的应收款项就确定为是长期挂帐了25 微信转账记录删除了还能找回吗? 转机到达一个目的地时行李还要从新托运吗?46 想知道一下,新乡长途汽车站的电话号码是多少呀?40 潍坊肉火烧的详细做法36 扣球打一数字 2009年9月22日出生女孩取什么名字好6 谁知道一不电视剧的名字,其中最精典的台词是“人间大炮一级准备...63 天龙八部套装效果问题 请问英雄联盟里杀死巨龙会得到什么效果?47 s3c2410 最全中文资料3 日本产的保健品质量好吗?会不会有核污染? 硬盘空间和内存有什么不一样15 我得强迫症已经快10年了,曾经住院治疗过,吃过两年药。后来一直没吃,目... 老师为什么管不住学生? 审计问题:什么是期后事项?有什么类别? 期后事项审计对财务报... 怎么克服恋师情结?3 的刀割了一道1mm深的伤口,这样有必要打破伤风针吗 我的电脑属性显示的内存怎么不对? 宽带连接不上提示813怎么办? c++ 分数类怎么设计 实现分数的加法10 海豚为什么会救人?680 联想小新700可以玩gta5吗 梦幻里把法抗修从0级点到9级需要多少钱? 新乡有几个汽车站,都在哪?4 新扎的脐钉问题 宝马3系 2013款 320Li 手动型怎么样1 c++类与对象:1)要求定义一个学生(student)类,包...3 2013款宝马3系加长版的动力怎么样? 如何一个手机下载两个淘宝软件呢? 有些视频文件用播放器打开后像是底片曝光后的效果,不能正常观看... 机票可以分期吗,分期的话怎么弄1 人体最硬的骨头是头骨吗?4 新乡客运总站 扎锁骨钉疼不疼?跟扎脐钉哪个疼?大连哪有扎锁骨钉的地方?要多...7 LOL中大龙小龙有什么用,还有野区的那些BUFF有什么效果98 在线求:C++分数 Fraction类9 河南酷牛网络技术有限公司怎么样? 刚打英雄联盟,可以具体说一下地图里的buff和野怪打了有什么...28