C++ | Palabra clave estática | Pregunta 2

#include <iostream>
using namespace std;
  
class Player
{
private:
    int id;
    static int next_id;
public:
    int getID() { return id; }
    Player()  {  id = next_id++; }
};
int Player::next_id = 1;
  
int main()
{
  Player p1;
  Player p2;
  Player p3;
  cout << p1.getID() << " ";
  cout << p2.getID() << " ";
  cout << p3.getID();
  return 0;
}

(A) Error del compilador
(B) 1 2 3
(C) 1 1 1
(D) 3 3 3
(E) 0 0 0

Respuesta: (B)
Explicación: si una variable miembro se declara estática, todos los objetos de esa clase tienen acceso a una sola instancia de esa variable. Las variables estáticas a veces se denominan variables de clase, campos de clase o campos de toda la clase porque no pertenecen a un objeto específico; pertenecen a la clase.

En el código anterior, la variable estática next_id se usa para asignar una identificación única a todos los objetos.

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *