index.htm

RECETAS DE NAVIDAD

- apuntes comunicaciones javascript lenguaje c php autoayuda bolsa chistes empleo fotografia digital ocio sabiasque salud timos trucos

CLASES STATIC EN LENGUAJE C

Ejemplo:

# include <iostream.h>

class Ejemplo {

int ejemplo1;

static int ejemplo2;

public:

Ejemplo (void);

void print(void);

};

int Ejemplo:: ejemplo2;

Ejemplo:: Ejemplo (void) {

ejemplo1 = 1;

ejemplo2 = 1;

}

void Ejemplo:: print (void) {

ejemplo1++;

ejemplo2++;

cout << 'ejemplo1 = ' << ejemplo1 << '\n';

cout << 'ejemplo2 = ' << ejemplo2 << '\n'; ;

}

main() {

Ejemplo primero, segundo;

primero.print();

segundo.print();

}

La salida de este programa es:

ejemplo1 = 2

ejemplo2 = 2

ejemplo1 = 2

ejemplo2 = 3

Una variable declarada static (ejemplo2) es una variable externa y solo puede existir una copia de esa variable. Todos los objetos de esta clase (en este caso, primero y segundo) comparten una misma copia de esta variable, que es global a estos objetos.

En la definicion de clase, la variable solo es declarada. La declaracion dice que la variable existira y le da un nombre, pero la definicion es la que realmente define un lugar para guardarla en la memoria del ordenador. Por definicion, una variable puede ser declarada en la cabecera del fichero, pero no definida alli, sino fuera de ella, normalmente en el fichero de implementacion.

El constructor inicializa las dos variables internas a 1 cada vez que se crea un objeto. Para mostrar que ejemplo2 es compartida por todos los objetos de esta clase, definimos una funcion, print, que incrementa el valor de las variables internas y a continuacion las imprime.

Anterior paso:
clases array de objetos
Siguiente paso:
clases puntero interno

· Introduccion al lenguaje c
· Tipos en el lenguaje c
· Variables y constantes en el lenguaje c
· Operadores en el lenguaje c
· Entrada/salida en el lenguaje c
· Estructuras de control en el lenguaje c
· Arrays y punteros en el lenguaje c
· Reserva dinamica de memoria en el lenguaje c
· Funciones en el lenguaje c
· Estructuras en el lenguaje c
· Clases
· Clases y encapsulacion en el lenguaje c
· Constructores y destructores en el lenguaje c++
· Descomposicion en modulos en el lenguaje c
· Array de objetos en el lenguaje c
· Clases static en lenguaje c
· Un objeto con un puntero interno
· Punteros a clases en c
· Objetos encadenados en c
· Sobrecarga de operadores en el lenguaje c

IMPORTANTE:

- Si te ha gustado esta pagina, por favor, votanos aqui:

- Si no te ha gustado, escribenos y cuentanos en que mejorar.

Actualizado: 16/12/2013