#include<stdlib.h>
#include<iostream>
#include<math.h>
using namespace std;
class Fraccion{
int numerador;
int denominador;
public:
/*
* Cambiamos le constructor para usar inicializacion de miembros
*/
Fraccion(int a=0, int b=1): numerador(a), denominador(b)
{
if (b==0)
{
// Si realmente quieres terminar el programa por esto
cerr << "Error: fraccion con denominador 0)" << endl;
exit(-1);
}
}
Fraccion operator+(Fraccion objeto){
Fraccion temporal;
temporal.denominador=((this->numerador*objeto.denominador)+(this->denominador*objeto.numerador));
temporal.numerador=(this->denominador*objeto.denominador);
return temporal;
}
Fraccion operator/(Fraccion objeto){
Fraccion temporal2;
temporal2.numerador=(this->numerador*objeto.denominador);
temporal2.denominador=(this->denominador*objeto.numerador);
return temporal2;
}
Fraccion operator--(int notused){
numerador--;
denominador--;
return *this;
}
/*
* Ahora imprime con un salto de linea al final del archivo
*/
void mostrar()
{
cout << numerador << "/" << denominador << endl;
}
};
int main()
{
char aux;
Fraccion fraccion01(5,3),fraccion02(17,5),fraccion03(0,1);
fraccion03=fraccion01+fraccion02;
fraccion03.mostrar();
fraccion01 = fraccion01/fraccion02;
fraccion01.mostrar();
fraccion01--;
fraccion01.mostrar();
cin >> aux;
// getchar();
}