[C con Clase] problemas con asignación de puntores Mas detallado

David Fire ddfire en gmail.com
Mar Nov 17 13:43:31 CET 2009


 C no puede estar cambiando, postia el codigo real.
David

El 16 de noviembre de 2009 20:03, Leonel Florín Selles <
leonel06033 en cfg.jovenclub.cu> escribió:

> Bueno miren lo que tengo:
>
> Dos clases, donde de una paso dados a la otra por ejemplo
>
> Clase #1:
>
> class clase1{
>  private:
>     signed short A[5];  //arreglo a
>
>  public:
>     clase1(){
>          for (int i=0; i<5; i++)
>               A[i] = i;
>     };
>     ~clase1();
>
>   signed short * getA(){ return A;}
> }
>
> class clase2{
>  private:
>     signed short *B, *C;
>
>     class1 a;
>
>  public:
>     clase2(){
>          B = NULL;
>     };
>     ~clase2();
>
>  //aqui esta la cosa
>   void manipulador(){
>             int dato =6;
>             B = a.getA();
>             C = B;
>             B = &dato;
>   }
> }
>
> bueno la cosa esta en el metodo manipulador de la clase2, cuando b recibe
> la
> dirección del arreglo A y despues se lo pasa a C, este ultimo lo recibe
> bien,
> pero despues cuando se cambia a B para que apunte a otro dato C tambien
> cambia,
> claro que este ejemplo que puse es ipotetico porque en esencia es lo que me
> esta
> pasando pero en otro programa, creo que este compilador se me volvio loco.
>
> saludos.
>
> > Hola amigos:
> >
> > bueno quisiera que me aclaran una duda que no puedo dar con ella, la cosa
> es una
> > bobería.
> >
> > tengo dos apuntadores
> >
> > int *a;
> > int *b;
> >
> > utilizo una función que devuelve un apuntador a int el cual es recibido
> por el
> > apuntador a y posteriormente este se lo pasa a b
> >
> > a = función;
> > b = a;
> >
> > en este caso a y b apuntan a la misma dirección que nos devuelve la
> función, el
> > problema es que cuando le paso al apuntador a otra dirección tambien es
> cambiado
> > en el apuntador b sin aberlo asignado antes.
> >
> > a = función1;
> >
> > entonces b toma el mismo valor del apuntador a;
> >
> > que será esta boberia que no acabo de dar con ella.
> >
> >
> > _______________________________________________
> > Lista de correo Cconclase Cconclase en listas.conclase.net
> >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> >
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091117/bc3dfde4/attachment.html>


Más información sobre la lista de distribución Cconclase