29/03/2011, 23:33
|
| | Fecha de Ingreso: junio-2005
Mensajes: 93
Antigüedad: 19 años, 7 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 |