miercuri, 5 martie 2008

Clasa Rational

#include

using namespace std;

class rational
{
private:
int numitor;
int numarator;
public:
rational();
rational(int, int);
~rational();
friend rational operator + (rational, int);
friend istream &operator >>(istream &,rational&);
friend ostream &operator <<(ostream&,rational);
};

rational::rational(int a,int b=1)
{
numitor = b;
numarator = a;
}
rational::~rational()
{
}
rational::rational()
{
numitor = 0;
numarator = 1;
}
rational operator + (rational a, int b)
{
rational rezultat;
rezultat.numarator=b*a.numitor+a.numarator;
rezultat.numitor=a.numitor;
return rezultat;
}
istream& operator >>(istream& cin,rational &a)
{
cin>>a.numarator>>a.numitor;
return cin;
}
ostream& operator <<(ostream& cout,rational a)
{
cout<< a.numarator<<"/"<< a.numitor< return cout;
}
int main()
{
rational a;
rational b(3);
rational c(3,2);
cin>>a;
cout<< a<<"+2="<<(a+2);
cout<< b<<"+2="<<(b+2);
cout<< b<<"+2="<<(c+2);
}

Niciun comentariu: