📄 rationalnumber.cpp
字号:
// RationalNumber.cpp: implementation of the RationalNumber class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "RationalNumber.h"
int gcd(int x, int y)
{
x = (x>0)?x:(-x);
y = (y>0)?y:(-y);
int temp;
if(x<y)
{
temp = x;
x = y;
y = temp;
}
while(y)
{
temp = x%y;
x = y;
y = temp;
}
return x;
}
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
RationalNumber::RationalNumber()
{
m_nNum = 0;
m_nDeno = 1;
}
RationalNumber::RationalNumber(int n, int d)
:m_nNum(n),
m_nDeno(d)
{
}
RationalNumber::~RationalNumber()
{
}
int RationalNumber::GetDeno()
{
return m_nDeno;
}
int RationalNumber::GetNum()
{
return this->m_nNum;
}
void RationalNumber::SetDeno(int x)
{
this->m_nDeno = x;
}
void RationalNumber::SetNum(int x)
{
this->m_nNum = x;
}
RationalNumber RationalNumber::operator +(RationalNumber x)
{
RationalNumber r;
r.m_nDeno = m_nDeno*x.m_nDeno;
r.m_nNum = m_nNum*x.m_nDeno + m_nDeno*x.m_nNum;
int d;
d = gcd(r.m_nDeno, r.m_nNum);
r.m_nDeno /= d;
r.m_nNum /= d;
return r;
}
int RationalNumber::operator ==(RationalNumber& x)
{
/* if((this->m_nDeno = x.m_nDeno)&&(this->m_nNum == x.m_nNum ))
return 1;
else
return 0;
*/
return (m_nDeno == x.m_nDeno)&&(m_nNum == x.m_nNum);
}
RationalNumber RationalNumber::operator -(RationalNumber x)
{
RationalNumber r;
r.m_nDeno = m_nDeno*x.m_nDeno;
r.m_nNum = m_nNum*x.m_nDeno -+ m_nDeno*x.m_nNum;
int d;
d = gcd(r.m_nDeno, r.m_nNum);
r.m_nDeno /= d;
r.m_nNum /= d;
return r;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -