~Napis(void)
if(m_pch)
delete m_pch;
};
Dostęp do konstruktorów można kontrolować zamieniając je na konstruktory prywatne. We fragmencie „Po” konstruktor kopiowania jest dostępny tylko funkcjom składowym klasy, a kod zewnętrzny nie może tworzyć kopii.
Aby uzyskać jeszcze większą kontrolę, można utworzyć prywatny konstruktor klasy. Wówczas jedynym sposobem utworzenia klasy przez użytkownika byłoby użycie służącej do tego celu funkcji publicznej napisanej przez nas.
Przykład: RefCounted::newRefCounted() w pliku access.cpp
unikanie nieoczekiwanych wyników
Przed
dass 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;
}