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