Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/03/2011, 23:33
dragg04
 
Fecha de Ingreso: junio-2005
Mensajes: 93
Antigüedad: 18 años, 10 meses
Puntos: 9
Respuesta: Herencia de una clase

EN SI ESA FUE MI SUGERENCIA :D.

BIEN EL PORQUE DE QUE FUNCIONE ES QUE LA SOBRECARGA DEL OPERADOR "+" REGRESA UNA INSTANCIA DE TIPO MATRIX, Y HASTA ANTES DE LA CORRECCION QUE HICISTE NO TENIAS UN CONSTRUCTOR QUE RECIBIERA COMO PARAMETRO UNA INSTANCIA DE MATRIX, POR LO QUE EL COMPILADOR TE DECIA QUE NO HABIA UN CONSTRUCTOR QUE RECIBIERA UN PARAMETRO DE TIPO MATRIX.

SOLO UN DETALLE EN LA SOBRECARGA DEL OPERADOR "=" NO REGRESAS NINGUN VALOR.

MI SUGERENCIA ES

matrix matrix ::operator = (const matrix &A){
fil = A.fil; col = A.col;
for(int i=0;i<A.fil;i++){
for (int j=1;j<A.col;j++){
s[i][j]=A.s[i][j];
}
}
return *this;
}

AHORA BIEN, ACOSTUMBRATE A QUE CADA VEZ QUE PASES UN OBJETO, LO PASES POR REFERENCIA, ESTO EVITARA QUE SE HAGA UNA COPIA DE EL CADA VEZ QUE SE PASE COMO PARAMETRO, MEJORANDO ASI LA VELOCIDAD DE EJECUCCION