Witam, jak to jest ze statycznymi składowymi klas? Zakładając, że mamy taki kod:
#include <iostream>
using namespace std;
static p;
class Klasa
{
public:
static int n;
};
int Klasa::n = 2; // ta linijka jest niezbędna do kompilacji programu
int main (void)
{
cout<<Klasa::n<<endl; // n=2
cout<<Klasa::p<<endl; // p=0
return 0;
}
Wiem, że inicjalizowane wewnątrz klasy mogą być tylko składowe statyczne CONST. Pamiętam również, że zmienne statyczne niezainicjalizowane otrzymują wartość 0;
To czemu ja muszę inicjalizować tą składową statyczną, skoro składowe statyczne otrzumują wartość 0 domyślnie? Mógłby mi ktoś to wyjaśnić? Z góry wielkie dzięki