Język C++ - praktyczne wskazówki
Po
class Napis { private:
const int m_cchTest; int m_cch; char *m_pch; public:
Napis(void): m_cch(0), m_cchTest(10), m_pch(NULL)
};
Zmienne można inicjalizować albo wewnątrz konstruktora albo za pomocą listy inicjalizacyjnej. Użycie takiej listy jest bardziej wydajne podczas inicjalizowania typów niewbudowanych. Gdy inicjalizujemy zmienne wewnątrz konstruktora, wówczas najpierw zostają przeprowadzone domyślne przypisania zmiennych, a dopiero potem przypisania wskazane w konstruktorze. W wypadku inicjalizowania za pomocą listy są używane tylko podane wartości, dzięki czemu unika się podwójnego przypisywania.
Inicjalizacji z użyciem wyrażeń, można dokonać tylko wewnątrz konstruktora tak jak w kodzie:
m_cch = globWspBitowy * 44000 / fazaKsiężyca; ~
Przykład: klasa String w pliku String.cpp
kompilowanie kodu
Przed
class Napis { private:
const int m_cchTest; public:
Napis(void)
m_cchTest = 10;
};