⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rationalnumber.cpp

📁 矩阵类 简单的矩阵类的编写
💻 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 + -