ariável de membro @estatic quando declarado private

uando uma variável de membro estática é declarada privada em uma classe, como ela pode ser definid

Suponha que eu tenho a seguinte declaração de classe

class static_demo
{
   private:
      static int a;

   public:
      static int b;

      void set(int x, int y)
      {
         a = x;
         b = y;
      }

      void show()
      {
         cout << "a = " << a << "\n";
         cout << "b = " << b << "\n";
      }
};

Em seguida, a seguinte declaração para definira resultará em erro de compilação.

int static_demo::a;

possível ter um membro de dados estáticos na seção privada da class

Adicionar código completo conforme Greg,

#include <iostream>

using namespace std;

class static_demo
{
   private:
      static int a;

   public:
      static int b;

      void set(int x, int y)
      {
         a = x;
         b = y;
      }
};

int static_demo::a;
int static_demo::b;

int main()
{
   static_demo::b = 10;
   static_demo::a = 20;

   return 0;
}

O erro de compilação é:

static_member_variable.cpp: In function `int main()':
static_member_variable.cpp:20: error: `int static_demo::a' is private
static_member_variable.cpp:26: error: within this context

questionAnswers(3)

yourAnswerToTheQuestion