[C con Clase] inicializacion variables

Salvador Pozo salvador en conclase.net
Jue Dic 7 16:24:51 CET 2006


El pasado 2006-12-06 22:39:37, ivalice escribió:
 
i> Buenas noches.

Hola:

i> Mi pregutna es: Como puedo comprobar si una variable esta inicializada o no?

En principio, de forma general, no es posible. No hay ninguna herramienta que permita saber si una variable ha sido inicializada o no.

Las variables sólo tienen un atributo variable (valga la redundancia), que es su valor. Tampoco hay ningún valor que pudiera usarse como marca de "no inicializado", ese valor habría que eliminarlo del dominio de la variable, y eso sería algo arbitrario. En principio, cualquier valor posible que pueda tomar una variable es válido, y por lo tanto, ningún valor nos puede indicar que la variable no fue inicializada.

i> Mi intencion es comprobar que si una instancia de una clase esta
i> inicializada para luego, dependiendo de ello, acceder a sus metodos.
i> Espero haberme explicado

En este caso, si hablamos de clases, podemos crear un dato miembro con el único objeto de comprobar si la variable fue inicializada.

Estamos creando nuestras propias "variables", por lo tanto, lo que he explicado antes no se aplica, y podemos añadir más atributos a cada objeto, además de los que indican su "valor".

En ese caso, un objeto en el que sólo se haya usado un constructor por defecto, tendrá el valor de "inicializado" a 'false', y si se ha asignado un valor, o se ha usado un constructor que asigne valores, el valor de ese miembro sería 'true'.

Esto es algo que, en cualquier caso, debes hacer tu mismo. No se trata de una característica del lenguaje, sino una implementación particular.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


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