089

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 cha
Język C++ - praktyczne wskazówki Po class Napis { private: const int m_cchTest; int m_cch; char
KlasyPo class Napis { private: const int m_cchTest; public: Napis(void) : m_cchTest(10){}}; Zgodnie
081 TIF Klasy ~Napis(void){ if(m_pch) delete m_pch;} }; Wszystkie zmienne składowe trzeba inicjalizo
118 TIF ~Napis(void){ if(m_pch) delete m_pch;} }; Dostęp do konstruktorów można kontrolować zamienia
Po class Uwaga { private: int m_nLicznik; public: Uwaga(void) : m_nLicznik(1){} void UstawLicznik(in
moda kobieca XXw str241 2-if. Garsonki byia sirojcra po-wszctimlc noszonym w tym Okr«t «. :IT niiliW

więcej podobnych podstron