29/03/2011, 15:04
|
| | Fecha de Ingreso: diciembre-2010
Mensajes: 20
Antigüedad: 14 años, 1 mes 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. |