Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Operaciones de sobrecarga c++ por si les sirve!!

Estas en el tema de Operaciones de sobrecarga c++ por si les sirve!! en el foro de C/C++ en Foros del Web. bool operator==(Vector &, Vector&); bool Vector::operator==(Vector &a, Vector &b){ int x=0; for(i=0;i<10;i++){ if(a.v[i]==b.v[i]){return true;}} return false; } me sale este error 31 E:\Progra II\LabSObreCarga\vector.h `bool ...
  #1 (permalink)  
Antiguo 25/03/2009, 21:16
 
Fecha de Ingreso: noviembre-2008
Ubicación: aserri
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 1
error con el operator

bool operator==(Vector &, Vector&);
bool Vector::operator==(Vector &a, Vector &b){
int x=0;
for(i=0;i<10;i++){
if(a.v[i]==b.v[i]){return true;}}
return false;
}

me sale este error 31 E:\Progra II\LabSObreCarga\vector.h `bool Vector::operator==(Vector&, Vector&)' must take exactly one argument

y no entiendo por que
  #2 (permalink)  
Antiguo 25/03/2009, 23:58
 
Fecha de Ingreso: noviembre-2008
Ubicación: aserri
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 1
Busqueda

tuve que hacer un laboratorio con operadores de sobrecarga, y estuve investigando y no hay cod sencillos ya que lo termine lo dono algunos pq se den una idea jajaja
Vector.h
Código c++:
Ver original
  1. class Vector{
  2.       private:
  3.               int *v;
  4.               int i;              
  5.  
  6.       public:
  7.  
  8.              Vector();
  9.  
  10.              void cargar();
  11.  
  12.              void visualizar();
  13.  Vector& operator+=(Vector &);
  14. int operator++();
  15. Vector& operator=(Vector &);
  16. ~Vector();
  17. };
  18.  
  19. vector.cpp
  20. Vector::Vector(){
  21.                  i=0;
  22.                  v=new int[10];
  23.                   for(int i=0; i<10;i++){    
  24.  
  25.          this->v[i]=0;}
  26.  
  27.  }
  28. void Vector::cargar(){
  29.  
  30.  for(int i=0; i<10;i++){
  31.          this->v[i]=(rand() &#37; 50);}      
  32.  
  33. }
  34. Vector& Vector::operator+=(Vector &a){
  35.         for(i=0;i<10;i++){
  36.  
  37.             this->v[i]+=a.v[i];}
  38. return *this;
  39. }
  40.  
  41. int Vector::operator++(){
  42.     for(i=0;i<10;i++){
  43.             this->v[i]++;}
  44.             }
  45. Vector& Vector::operator=(Vector &b){
  46.         for(i=0;i<10;i++){
  47.             v[i]=b.v[i];}
  48. return *this;
  49. }
  50. void Vector::visualizar() {
  51.      for(i=0;i<10;i++){
  52.      cout<<this->v[i]<<" ";}cout<<endl;
  53.  
  54.      }
cualquier cosita me consultan a mi correo espero que les sirva!!!!

Última edición por kataty; 26/03/2009 a las 00:19
  #3 (permalink)  
Antiguo 26/03/2009, 00:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Operaciones de sobrecarga c++ por si les sirve!!

Hola, kataty.

Gracias por dejar la solución al problema por si alguien tiene una consulta parecida .

He combinado ambos temas, ya que hablaban de la misma temática.

P.S.: Tu correo electrónico es más seguro si lo colocas en tu Perfil de Usuario para que no te envíen SPAM.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 26/03/2009, 00:08
 
Fecha de Ingreso: noviembre-2008
Ubicación: aserri
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Operaciones de sobrecarga c++ por si les sirve!!

jajaja gracias!!!!!!!!!!!!!!!!!!!!!! no soy muy agil para esas cosas jajaja
  #5 (permalink)  
Antiguo 26/03/2009, 02:09
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Operaciones de sobrecarga c++ por si les sirve!!

El operador de igualdad (==) es unario (recibe un solo argumento) ya que comparas el objeto en cuestion (this) con otro.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.