De nada hombre, da gusto contar con gente como tu.
¡Saludos!
¡Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
class MiEntero
{
public:
//...
private:
int x;
};
/* si queremos sumar un entero y un elemento de mi clase, como el entero no es un objeto de mi clase, tendré que declarar el operador suma fuera de la clase.
La suma es un operador binario y el elemento más a la izquierda es de clase entero, luego a la hora de sobrecargarlo la lista de parámetros tendrá dos valores,
un entero y un elemento de la clase y devolveré un elemento de mi clase, que engloba a los enteros y así mantengo las reglas de promoción:*/
//...
MiEntero operator+ (int op1, MiEntero &op2) //pasamos una referencia al objeto de la clase para evitar sobrecargar la pila
{
//me las arreglo para generar un elemento MiEntero que almacene el valor suma y devuelvo este objeto
}
/*a la hora de llamar al operador, x+y con x entero e y un objeto de mi clase, se genera una llamada operator+(x,y)*/
class MiEntero
{
public:
//...
MiEntero operator+(MiEntero &op2); //como la lista de parámetros es distinta a la la del operador exterior no incumplo las reglas de sobrecarga de funciones/operadores
private:
int x;
};
MiEntero MiEntero::operator+(MiEntero &op2)
{
MiEntero res;
res.x = this->x + op2.x;
return res;
}
/* si queremos sumar un entero y un elemento de mi clase, como el entero no es un objeto de mi clase, tendré que declarar el operador suma fuera de la clase.
La suma es un operador binario y el elemento más a la izquierda es de clase entero, luego a la hora de sobrecargarlo la lista de parámetros tendrá dos valores,
un entero y un elemento de la clase y devolveré un elemento de mi clase, que engloba a los enteros y así mantengo las reglas de promoción:*/
//...
MiEntero& operator+ (int op1, MiEntero &op2) //pasamos una referencia al objeto de la clase para evitar sobrecargar la pila
{
//me las arreglo para generar un elemento MiEntero que almacene el valor suma y devuelvo este objeto
}
Cita de: ivancea96 en 28 Noviembre 2015, 18:46 PM+1
Pase por caja y ahora le atenderemos. Gracias.
#include <iostream>
using namespace std;
class UnaClase
{
public:
char getVal();
void setVal(char a);
private:
char val;
};
char UnaClase::getVal()
{
return a;
}
void UnaClase::setVal(char a)
{
val = a;
}
istream& operator>>(istream &in, UnaClase objeto)
{
char a;
in >> a; //leemos un caracter desde el flujo de entrada que recibimos
objeto.setVal(a);
return in; //devolvemos el flujo de entrada que hemos recibido para poder encadenar entradas
}
ostream& operator<<(ostream &out, UnaClase objeto)
{
out << objeto.getVal(); //realizamos la salida sobre el objeto ostream que hemos recibido
return out; //devolvemos el objeto recibido para poder encadenar salidas
}
int main()
{
UnaClase obj1,obj2;
cin >> obj1 >> obj2;
//lo anterior implica:
//cin.>>(obj1) y es lo que hemos sobrecargada como >>(cin,obj1) que devuelve una refecencia a cin
//utilizamos la referencia que hemos devuelto a cin para ejecutar cin.>>(obj2) = >>(cin,obj2)
cout << obj1 << obj2;
//el razonamiento es como antes pero sobre cout
return 0;
}
apt-cache search epson inkjet
O: Epson, impresora epson, epson printer.... echale imaginación, que no se diga que no pones interés en que te funcione la impresora