089
~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); void ReinicjNapis(const char *pch, int cch); public:
Napis(void); m_cch(0), m_cchTest(10)
{
m_pch = NULL;
}
~Napis(void)
{
if(m_pch)
delete m_pch;
}
const Napis& operator= (const Napis &napis)
{
if(&napis != this)
ReinicjNapis(string.m_pch, string.m_cch); return *this;
}
const Napis& operator=(const char *sz)
{
Reinicjnapis(sz, strlen(sz)); return *this;
}
};
Zarówno konstruktor kopiowania, jak i operator przypisania, są dołączane automatycznie przez kompilator. Jeśli alokujemy pamięć wewnątrz klasy (lub inaczej, alokujemy pamięć, która pozostaje w klasie — a nie pamięć, którą tymczasowo tworzymy
Wyszukiwarka
Podobne podstrony:
Po class Napis{ private: const int m_cchTest; int m_cch; char *m_pch; void lnicjNapis(const chaJęzyk C++ - praktyczne wskazówki Po class Napis { private: const int m_cchTest; int m_cch; charKlasyPo class Napis { private: const int m_cchTest; public: Napis(void) : m_cchTest(10){}}; Zgodnie081 TIF Klasy ~Napis(void){ if(m_pch) delete m_pch;} }; Wszystkie zmienne składowe trzeba inicjalizo118 TIF ~Napis(void){ if(m_pch) delete m_pch;} }; Dostęp do konstruktorów można kontrolować zamieniaPo class Uwaga { private: int m_nLicznik; public: Uwaga(void) : m_nLicznik(1){} void UstawLicznik(inmoda kobieca XXw str241 2-if. Garsonki byia sirojcra po-wszctimlc noszonym w tym Okr«t «. :IT niiliWwięcej podobnych podstron