Ver Mensaje Individual
  #1  
Antiguo 06-11-2010
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Reputación: 18
NEG1414 Va por buen camino
¿ copia por valor de Matriz dinamica como lo hago?

Buenas

He creado una Martriz dinamica de la forma

Código:
TClassPadre 
 { 
 
      Public:: 
 
      char Dat[10]; 
 
      typedef struct {char ** Dat;}TMatriz; 
 
      TMatriz Matriz;      
 
  }
La Uso como tipo en clase Hija


Código:
ClassHija 
{ 
    
      TMatriz::TClassPadre  Matz1 
      TMatriz::TClassPadre  Matz2 
}
Le asigno datos a MATZ1 :


Código:
ClassHija::AsigDatos 
{ 
 
 Matz1.Dat=(char **)malloc(sizeof(char *)*NumDatos+1); 
 
 for(int i=1;i<NumDatos+1;i++) 
  { 
       Matz1.Signo[i]=(char*)malloc(sizeof(char)*10; 
       for(int b=1;b<10;b++) 
        { 
           Matz.Dato[i][b] =  'x' 
        } 
  } 
}
Inicializo Matz2 con los datos de Matz1


Código:
ClassHija::DUDA 
{ 
    Matz2 = Matz1; 
}
Tal como lo he hecho al modifiar los Datos de Matz2 afecta a Matz1 (punteros)

Mi pregunta es:
Como puedo Hacer que Mtz2 se inicialice con los datos de Mtz1 y al modificar sus datos (Matriz Auxiliar) no afecte a los datos de Mtz1.
Si no es posible hay alguna otra forma...


Gracias
Responder Con Cita