140 TIF

140 TIF



char *m_pch; public:

int operator==(const Napis& napis) const

{

return(strcmp(m_pch, napis.m_pch) == 0);

}

int operator==(const char *sz) const

{

return(strcmp(m_pch, sz) == 0);

}

int operator>(const Napis& napis) const

{

return(strcmp(m_pch, napis.m_pch) > 0);

}

int operator>(const char *sz) const

{

return(strcmp(m_pch, sz) > 0);

}

int operator<(const Napis& napis) const

{

return(strcmp(m_pch, napis.m_pch) < 0);

}

int operator<(const char *sz) const

{

return(strcmp(m_pch, sz) < 0);

}

};

void TestKlasyNapis(void)

{

Napis napis("Test”);

Napis napisl (napis);

if(napis1 == napis) napisl = "równy"; else if(napis1 < napis) napisl = "mniejszy"; else

napisl = "większy";

Operatory pozwalają na pisanie zwięzłego i zrozumiałego kodu. Nie oznacza to jednak, że będzie on szybki i wydajny. W podanym kodzie źródłowym funkcja Test-KlasyNapisO porównuje dwa napisy i sprawdza, czy są one równe, a jeśli nie, to który


Wyszukiwarka

Podobne podstrony:
070 TIF virtua! ~lntelWskPodst(){ rf(m_pt) delete m_pt; m_pt = NULL;} T &operator*() const{ retu
Poznaj C++ w$ godziny0182 Zaawansowane referencje i wskaźniki 171 int PobierzWiek() const { return j
return IntelWskPodst<T>::operator=(pt);} T *operator->() const{ return m_pt;} }; Podobnie
ALG 7 5.1. Listy jednokierunkowe 97 public: int pusta()    // czy lista jest pusta? {
068 TIF unikanie nieoczekiwanych wynikówUżywanie deklaracji const *Przed void Napis::lnicjNapis(char
Po const Litera! &operator=(const char *pch){ strncpy(m_rgch, pch, sizeof(m_rgch)-2); m_rg ch [s
Po class Napis{ private: const int m_cchTest; int m_cch; char *m_pch; void lnicjNapis(const cha

więcej podobnych podstron