Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.11 KB | None | 0 0
  1. class Complejo {
  2. private:
  3.     float real;
  4.     float imaginario;
  5. public:
  6.     //Constructores y operadores de asignacion
  7.     Complejo(const float real=0, const float imaginario=0); //Constructor por defecto de Clase
  8.     Complejo(const Complejo& copiable);                     //Constructor por Copia
  9.     Complejo(Complejo&& copiable);                          //Constructor por movimiento
  10.     Complejo& operator=(const Complejo& copiable);          //Sobrecarga del Operador asignación =
  11.     Complejo& operator=(Complejo&& copiable);               //Sobrecarga del Operador asignación = por movimiento
  12.    
  13.     //Sobrecarga de Operadores
  14.     Complejo operator+(const Complejo& c2) const;           //Idem + - * /
  15.     bool operator==(const Complejo& c2) const;              //Idem == != < > <= >=
  16.     Complejo& operator++();                                 //prefix ++, ej ++a     Idem ++ --
  17.     Complejo operator++(int);                               //postfix ++, ej a++    Idem ++ --
  18.     operator bool() const;                                  //Operador de casteo, idem bool int float char double etc..
  19.    
  20.     //Prototipos de sobrecarga de operadores globales
  21.     //Opcion 1: indicar con friend la declaracion para darle acceso privado a la clase Complejo y evitar getters y setters.
  22.     friend std::ostream& operator<<(std::ostream& output, const Complejo& c);
  23.     friend std::istream& operator>>(std::istream& input, Complejo& c);
  24. };
  25.  
  26. //Prototipos de sobrecarga de operadores globales
  27. //Opcion 2: no declaramos en clase Complejo y usamos getters y setters de Complejo para acceder a real e imaginario.
  28. //cout es de la clase ostream y no podemos modificarla -> sobrecargamos el operador global
  29. //cin es de la clase istream y no podemos modificarla -> sobrecargamos el operador global
  30. //std::ostream& operator<<(std::ostream &output, const Complejo &c);
  31. //std::istream& operator>>(std::istream &input, Complejo &c);
  32.  
  33. //Tanto para opcion 1 u opción 2 se define de esta manera.
  34. std::ostream& operator<<(std::ostream &output, const Complejo &c) {/*..*/}
  35. std::istream& operator>>(std::istream &input, Complejo &c) {/*..*/}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement