English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Al usar la palabra clave static, no se puede modificar nuevamente la variable o el miembro de datos o la función. Se asigna en el ciclo de vida del programa. Las funciones estáticas se pueden llamar directamente utilizando el nombre de la clase.
Las variables estáticas se inicializan solo una vez. El compilador mantiene la variable hasta el final del programa. Las variables estáticas pueden definirse tanto dentro como fuera de una función. Están en el ámbito local del bloque. El valor predeterminado de las variables estáticas es cero. Las variables estáticas son válidas hasta antes de la ejecución del programa.
A continuación se muestra la sintaxis del keyword static.
static datatype variable_name = value; // Variable estática static return_type function_name { // Functions estáticas ... }
Aquí,
datatype-El tipo de datos de la variable, por ejemplo int, char, float, etc.
variable_name-Este es el nombre de variable dado por el usuario.
Valor-Cualquier valor para inicializar la variable. Por defecto, es cero.
return_type-El tipo de datos de retorno de la función. El tipo de datos del valor de retorno.
function_name-La funciónCualquier nombre.
A continuación se muestra un ejemplo del keyword static.
#include <bits/stdc++.h> using namespace std; class Base { public : static int val; static int func(int a) { cout << "\nStatic member function is called"; cout << "\nThe value of a : " << a; } }; int Base::val=28; int main() { Base b; Base::func(8); cout << "\nThe static variable value : " << b.val; return 0; }
Resultados de salida
Static member function is called The value of a : 8 The static variable value : 28
En el programa anterior, se declaró una variable estática. En la clase Base se definió una función estática, como se muestra a continuación-
public : static int val; static int func(int a) { cout << "\nLlamada a la función miembro estática"; cout << "\nThe value of a : " << a; }
Después y antes de la clasemain()
,la inicialización del variable estático es como sigue.
int Base::val=28;
En esta funciónmain()
,creó un objeto de la clase base y llamó al variable estático. También se puede llamar a la función estática sin usar el objeto de la clase Base.
Base b; Base::func(8); cout << "\nThe static variable value : " << b.val;