Ver Mensaje Individual
  #8 (permalink)  
Antiguo 29/03/2011, 15:04
Aemilius
 
Fecha de Ingreso: diciembre-2010
Mensajes: 20
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Error en contructor de copia

¿Por qué hay que tener escrito el operador '&' en la declaración.?

Para evitar un ciclo infinito. Si el constructor copia recibe el parámetro por valor, ¿adivinas a que función se va a llamar para COPIAR el valor de la variable al parámetro? ¡Al constructor copia!

¿y el const?

Si no aumentas const el constructor copia estará restringido a funcionar sólo si recibe un objeto no constante, es decir que puede ser modificado internamente. Como ya te habrás dado cuenta tal limitación implica que no puedas escribir "matrix D = A + B;" o "matrix E(A+B);" por que internamente el compilador necesita que tu constructor copia pueda recibir como parámetro objetos constantes.