[C con Clase] duda acceder a miembro static

omar mendoza omar.p9 en gmail.com
Mar Jun 21 05:52:55 CEST 2011


una vez mas, gracias steven!!

El 20 de junio de 2011 17:01, Steven Davidson <srd4121 en njit.edu> escribió:

> Hola Omar,
>
> 2011/6/20 omar mendoza <omar.p9 en gmail.com>
>
>> Hola a todos, cómo le pudeo hacer para acceder a un miembro static desde
>> otra clase?
>> por ejemplo
>>
>> class A{
>>
>>    private:
>>         static int numero;
>> }
>>
>> class B{
>>
>> private:
>>    A *num;
>>
>> }
>>
>>
>> ahora en una fucnión main
>>
>>
>> int main(){
>>
>>     B *b;
>>
>> }
>>
>> cómo podría hacerle para sabes cuanto vale el miembro numero de la clase
>> A??
>>
>> desde A sé que es así: A::numero. Pero desde B??
>>
>
>
> Para acceder a cualquier entidad en un ámbito denominado, usa el operador
> de ámbito :: que en tu caso sería,
>
> A :: numero
>
> porque esta entidad es estática. Eso sí, recuerda que debes definir tal
> variable y es aconsejable inicializarla. Esto es,
>
> int A :: numero = 10;
>
>
> En tu caso, hay un problema porque 'numero' es privado y por lo tanto, no
> podemos acceder a ello desde fuera del ámbito de la clase 'A'. Tendrás que
> cambiar el permiso de acceso de 'numero' o posiblemente crear una función
> miembro estática para acceder a 'numero'. Por ejemplo,
>
> class A
> {
> private:
>   static int numero;
>
> public:
>   static int get_numero()  { return numero; }
> };
>
> int A::numero = 10;
> Ahora puedes invocar 'get_numero()' para obtener el dato en 'A::numero'.
>
>
> Espero haber aclarado la duda.
>
> Steven
>
>
> _______________________________________________
> 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
>



-- 
Omar Jonathan Mendoza Bernal
"Las cicatrices nos recuerdan que el pasado fue real" Dr. Lecter en Dragón
Rojo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110620/f13d16ed/attachment.html>


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