elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con sobrecarga de operadores c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con sobrecarga de operadores c++  (Leído 2,443 veces)
swagger14

Desconectado Desconectado

Mensajes: 17


Ver Perfil
problema con sobrecarga de operadores c++
« en: 3 Abril 2012, 05:37 am »

intento hacer una sobrecarga de operadores  en una clase de quebrados y estoy
hastacado!  ayudenme!!
Código:
#include <iostream>

using namespace std;

class Complejos
{
  private:
          double real;
          double img;
  public:
         Complejos(double, double);
         Complejos operator+(Complejos a);
         friend Complejos operator*(Complejos a, double ); //AMIGA porque utiliza un tipo de dato diferente de la clase en los operandos
         friend Complejos operator*(double, Complejos); //AMIGA porque utiliza un tipo de dato diferente de la clase en los operandos
         void Suma(double,double);
         void Multiplicacion(double, double);
         void VerComplejos();
         friend Complejos operator+(Complejos, int);
};
Complejos operator+(Complejos a, int b)
{
  Complejos c(a.real*b, a.img*b);
  return c;
}

Complejos::Complejos(double r, double i)
{
    real = r;
    img  = i;
}
void Complejos::Multiplicacion(double r, double i)
{
     double hold = real;
     real = (real * r) + (img * i * (-1));
     img  = -(hold * i ) + (img * r);   
}

void Complejos::Suma(double r, double i)
{
     real += r;
     img  += i;
}
void Complejos::VerComplejos()
{
     cout << "(" << real << ", " << img << "i)\n";
}
Complejos operator*(double valor, Complejos b)
{
          Complejos tmp ( b.real*valor, b.img*valor);
          return tmp;
}
Complejos Complejos::operator+(Complejos a)
{
          Complejos c( real+a.real, img+a.img);
          return c;
}
Complejos operator*(Complejos a, double valor)
{
          Complejos c( a.real*valor, a.img*valor);
          return c;
}



int main()
{
    Complejos c(5,15), d(10,10);
    Complejos ch(1,1);

    ch = ch + d;
    ch.VerComplejos();
   
    ch = ch * 2;
    ch.VerComplejos();
   
    ch = 2 * ch ;
    ch.VerComplejos();
   
    system("pause");
}



En línea

david_BS

Desconectado Desconectado

Mensajes: 99



Ver Perfil WWW
Re: problema con sobrecarga de operadores c++
« Respuesta #1 en: 4 Abril 2012, 22:26 pm »

si te ayuda de algo
http://codigomaldito.blogspot.com.ar/2004/11/sobrecarga-de-operadores-en-c.html



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sobrecarga de operadores (con punteros a clase)
Programación C/C++
Namida 0 3,209 Último mensaje 29 Diciembre 2010, 12:42 pm
por Namida
Ayuda con plantillas y sobrecarga de operadores
Programación C/C++
4rkn63l 2 4,587 Último mensaje 31 Mayo 2011, 21:23 pm
por 4rkn63l
[Duda] Sobrecarga de operadores
Programación C/C++
BlackZeroX 4 2,986 Último mensaje 13 Junio 2011, 20:55 pm
por BlackZeroX
C++ - Sobrecarga de operadores
Programación C/C++
eltongabinghiman 2 2,905 Último mensaje 14 Marzo 2012, 18:14 pm
por x64core
(Consulta) Problema con sobrecarga de operadores y plantillas
Programación C/C++
class_OpenGL 4 2,146 Último mensaje 1 Abril 2016, 18:05 pm
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines