c_cpp C ++中的Fraction类定义。虽然它可能有用,但是,主要是我想知道你对代码的看法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++中的Fraction类定义。虽然它可能有用,但是,主要是我想知道你对代码的看法相关的知识,希望对你有一定的参考价值。
#include <string>
#include <sstream>
using namespace std;
class Fraction{
public:
long enm;
long dem;
long ent;
Fraction() { }
Fraction(long enm, long dem);
Fraction& operator*(Fraction);
Fraction& operator+(Fraction);
Fraction& operator-(Fraction);
Fraction& operator/(Fraction);
inline long getEnm() { return this->enm;};
inline long getDem() { return this->dem;};
string ToString();
private:
bool chkr(long,long);
};
Fraction::Fraction(long enm, long dem){
this->enm = enm;
this->dem = dem;
}
string Fraction::ToString()
{
string nem, dem;
ostringstream snem, sdem, sax;
snem << this->enm;
nem = snem.str();
sdem << this->dem;
dem = sdem.str();
if(this->chkr(this->enm,this->dem)){
sax << this->ent;
return sax.str();
}
return nem + "\n_\n" + dem;
}
Fraction& Fraction::operator+(Fraction s)
{
long Nem = ((this->enm * s.dem) + (this->dem * s.enm));
long Dem = this->dem * s.dem;
return Fraction(Nem,Dem);
}
Fraction& Fraction::operator-(Fraction s)
{
long Nem = ((this->enm * s.dem) - (this->dem * s.enm));
long Dem = this->dem * s.dem;
return Fraction(Nem,Dem);
}
Fraction& Fraction::operator*(Fraction s)
{
return Fraction((this->enm * s.enm),(this->dem * s.dem));
}
Fraction& Fraction::operator/(Fraction s)
{
return Fraction((this->enm * s.dem),(this->dem * s.enm));
}
bool Fraction::chkr(long n, long d)
{
if((n%d) == 0){
this->ent = n/d;
return true;
}
else
return false;
}
以上是关于c_cpp C ++中的Fraction类定义。虽然它可能有用,但是,主要是我想知道你对代码的看法的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp C ++中的int list类
c_cpp c ++中的字符串类
c_cpp C ++中的通用容器可迭代数组类
头文件c ++中的类定义
c_cpp C ++中一个类中的多个大小的数组
目标C中的类继承和自定义^块执行