Dodatkowe informacje na ten temat można znaleźć we wskazówce 77. Opisane zagadnienia odnoszą się również do operatora przypisania.
Przykład: klasa String in String.cpp
unikanie nieoczekiwanych wyników
Przed
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;
~Napis(void)
if(m_pch)
delete m_pch;
};
Po
class Napis
private:
const int m_cchTest; int m_cch; char *m_pch;
void lnicjNapis(const char *pch, int cch); public:
Napis(void) : m_cch(0), m_cchTest(10)