Ver Mensaje Individual
  #5  
Antiguo 07-11-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
En realidad los dos hacéis referencia a dos cosas importantes.

1.- La implementación de un constructor copia y la sobrecarga del operador "=" permiten realizar cosas como esta:
Código:
TMatriz Matz1;
TMatriz Matz2;

Matz2 = Matz1;
TMatriz Matz3(Matz1);
En todos los casos Matz2 y Matz3 contendrán lo mismo que Matz1 pero serán "copias", no comparten el mismo espacio de memoria.

No es necesario crearlas con punteros como se exige en el caso de trabajar con la VCL.

2.- El código usado en el constructor copia o la sobrecarga del operador "=" debe realizar una copia real a nivel de memoria de una matriz en la otra. Bien con strcpy, memcpy o la API CopyMemory. Para el caso de strcpy decir que sólo es válido para cadenas estilo C (terminadas en nulo) pues encontrado el nulo termina la copia que es carácter a carácter.

Saludos.
Responder Con Cita