1. W kodzie przykładu 2.33 pojawia się kilka problemów.
Pierwszy z nich polega na tym, że nie powiedzie się konsolidacja, ponieważ brakuje definicji m_wadgetCount.
Jak możemy naprawić ten problem?

    a. W wadget.h, wewnątrz definicji klasy:
        static int m_wadgetCount = 0;
    b. W wadget.h poza definicją klasy:
        static int Wadget::m_wadgetCount = 0;
    c. W wadget.cpp na szczycie pliku:
        int Wadget::m_wadgetCount = 0;
    d. W wadget.cpp na szczycie pliku:
        static int Wadget::m_wadgetCount = 0;
    e. W wadget.cpp na liście inicjalizacji składowych:
        Wadget::Wadget()
        :  m_d1(a), m_d2(b), m_wadgetCount(0)
            { m_wadgetCount ++; }

}


2. Rozważ deklarację:
      static int Wadget::wadgetCount()
   Co oznacza w tym przypadku słowo kluczowe static?

   a. Funkcja musi zostać zdefiniowana w pliku .cpp.
   b. Funkcja może być wywoływana jedynie przez obiekty statyczne.
   c. Funkcja musi zostać wywołana z operatorem zakresu Wadget::.
   d. Nazwa funkcji ma zakres plikowy.
   e. Funkcja ma dostęp jedynie do składowych statycznych.


3. Rozważ definicję:
      static int Wadget::wadgetCount()
   Co oznacza w tym przypadku słowo kluczowe static?
   a. Funkcja ma dostęp jedynie do statycznych składowych.
   b. Funkcję można wywołać jedynie na obiektach statycznych.
   c. Funkcja musi zostać wywołana z operatorem zakresu Wadget::.
   d. Nazwa funkcji jest eksportowana do konsolidatora.
   e. Nazwa funkcji nie jest eksportowana do konsolidatora.


4. Co możemy powiedzieć o definicji Wadget::calculation?

   a. d1 i d2 nie są dostępne z metody static.
   b. Brakuje static przed definicją funkcji.
   c. Wszystko działa bez zarzutu.
   d. Prawdziwe są odpowiedzi a i b.
   e. Nazwa funkcji nie jest eksportowana do konsolidatora (błąd).

