Egzamin zawodowyPortal części pisemnej

INF.04 · pytanie 827

Dlaczego w języku C++ pole klasy zadeklarowane jako stała musi otrzymać wartość na liście inicjującej konstruktora?

  1. ABo pole stałe leży w pamięci statycznej, niedostępnej z ciała konstruktora klasy
  2. BBo lista inicjująca wykonuje się dopiero po zakończeniu ciała konstruktora klasy
  3. CBo konstruktor nie ma prawa zmieniać żadnych pól prywatnych zadeklarowanych w klasie
  4. DBo w ciele konstruktora pole jest już zainicjowane i nie da się do niego przypisaćPoprawna

Wyjaśnienie

Lista inicjująca jest jedynym momentem, w którym składowa dostaje wartość początkową, a nie kolejne przypisanie.