Calificación de variables miembro

 

A veces es necesario distinguir entre variables miembro de una clase y otro tipo de variables. Esto se puede realizar mediante el operador de resolución de ámbito "::".

 

Ejemplo:

 

class X

{

int m;

public :

void Setm (int);

void Getm (void) {cout <<m;}

};

 

void main( )

{

X x;

x.Setm (5);

x.Getm ( );

}

 

 

void X::Setm (int m)

{

X::m=m; //para distinguir el parámetro m, de miembro m de la clase X

}

 

 

Variables de clase

 

Entre los datos que pueden ser declarados en una clase se pueden hacer dos distinciones:

 

- Las variables de instancia representan campos con denominación común para todos los objetos de la clase, pero con un contenido particular para cada uno de ellos.

 

- Una variable de clase es un campo con idéntico nombre e idéntico contenido para todos los objetos de una clase. Es más, la modificación del contenido de ese campo en un objeto, afectará a todos los demás objetos. En realidad una variable de clase no es un campo que se halle en todos los objetos de una clase y que tenga el mismo contenido para todos ellos, sino que es un mismo espacio de memoria que es compartido por todos los objetos de una clase.

 

La forma de declarar una variable de clase en C++ es declarando un campo miembro como static.

 

class <nombre_clase>

{

..............................

static <tipo> <nombre_variable>

...............................

}