OperatorVersionsTest.cpp
Dosyayı İndir
#include <iostream>
#include <locale.h>
using namespace std;
class rational{
public:
rational():rational(1,0){
}
rational(int dd,int dr){
dividend=dd;
divisor=dr;
}
double get_dividend(){
return dividend;
}
void set_dividend(int dd){
dividend=dd;
}
double get_divisor(){
return divisor;
}
void set_divisor(int dr){
divisor=dr;
}
void print(){
cout<<dividend<<"/"<<divisor<<endl;
}
rational operator-(){
return rational(-dividend,divisor);
}
rational operator-(rational right){
rational result;
result.set_dividend(
(*this).get_dividend()*right.get_divisor()-
right.get_dividend()*(*this).get_divisor());
result.set_divisor(
(*this).get_dividend()*right.get_divisor());
return result;
}
friend rational operator+(rational left,rational right);
private:
double dividend;
double divisor;
};
rational operator+(rational left,rational right){
rational result;
result.set_dividend(
left.get_dividend()*right.get_divisor()+
right.get_dividend()*left.get_divisor());
result.set_divisor(
left.get_dividend()*right.get_divisor());
return result;
}
int main0504(){
setlocale(LC_ALL,"Turkish");
rational r1(3,4);
cout<<"�lk Kesirli"<<endl;
r1.print();
rational r2=-r1;
cout<<"Teklik Eksi"<<endl;
r2.print();
rational r3(2,5);
cout<<"�kinci Kesirli"<<endl;
r3.print();
rational r4=r1-r3;
cout<<"�ye Eksi"<<endl;
r4.print();
rational r5=r1+r3;
cout<<"Arkada� Art�"<<endl;
r5.print();
return 0;
}
Dosyayı İndir