Cómo utilizar miembros estáticos en c ++

Video: Por qué no usar static

En C ++, se puede declarar un miembro a ser compartida por todos los objetos de una clase declarando que el miembro estático. Un miembro de datos estáticos en C ++ es uno que ha sido declarado con el estático Clase de almacenamiento, como se muestra aquí:

Estudiante clase {public: Estudiante (char * = pName "sin nombre"): Nombre (pName) {noOfStudents ++ - Estudiante} ~ () {} --- noOfStudents static int nombre noOfStudents cuerdas -} - Estudiante S1-S2-Estudiante

El miembro de datos noOfStudents es parte de la clase Estudiante pero no es parte de cualquiera s1 o s2. Es decir, para cada objeto de la clase Estudiante, hay una separada nombre, pero sólo hay una noOfStudents, el que todos estudiantes debe compartir.

Video: 15. Curso de javascript: Novedades EcmaScript 6 - Métodos Estáticos

“Pues bien,” le pregunte, “si el espacio para noOfStudents No se asigna en cualquiera de los objetos de la clase Estudiante, ? Donde se asignó”La respuesta es,‘no es’Usted tiene que asignar específicamente espacio para ello, de la siguiente manera.:

int Estudiante :: noOfStudents = 0-

Esta sintaxis de aspecto algo peculiar asigna espacio para el miembro de datos estático y lo inicializa a 0. (Usted no tiene que inicializar un miembro estático cuando se declara IT-C ++ invocará el constructor por defecto si no lo hace.) Los datos estáticos los miembros deben ser globales - una variable estática no puede ser local a una función.

Se requiere que el nombre de la clase para cualquier miembro cuando aparece fuera de sus límites de clase.

Este asunto de la asignación de espacio de forma manual es algo confuso hasta que se considera que las definiciones de clase están diseñados para entrar en archivos que se incluyen por varios módulos de código fuente. C ++ tiene que saber en cuál de los archivos de origen .cpp para asignar espacio para la variable estática. Esto no es un problema con las variables no estáticas porque el espacio se asigna en cada objeto creado.

Artículos Relacionados