Aplicatii - Introducere in C++: Extensii ale limbajului C; Clase; Supradefinirea operatorilor
Clasa NrComplex va utiliza private doua numere reale pentru partea reala, respectiv partea imaginara a numarului complex. Se vor implementa operatiile: constructori, destructor, operator =, operator +=, operator +, operator -, operator *, operator /, operator <<.
Clasa Multime va utiliza private un unsigned long pentru memorarea elementelor multimii (pe biti). Se vor implementa operatiile: constructor, destructor, adaugare element (operator +), reuniune (operator +), intersectie (operator *), diferenta (operator -), test apartenenta element, test incluziune multimi (operator <), operator <<, operator >>.
In C, sirurile de caractere sunt reprezentate prin tablouri de caractere terminate cu caracterul nul, asupra carora opereaza functiile de biblioteca definite in "string.h", care opereaza asupra unor pointeri la char. Aceasta implementare in stil C are o serie de limitari: de exemplu, copierea si compararea sirurilor arata total diferit de copierea si compararea intregilor.(Operatorii "=" si "==" au semnificatii diferite de copiere si comparare !). Pentru a remedia acest aspect, se vor supraincarca operatorii de comparare si atribuire pentru noul tip String. O alta problema la char * o constituie alocarea dinamica: utilizatorul trebuie sa dezaloce memoria ocupata de sir cand acesta nu mai este utilizat.
Clasa String va utiliza private un tablou de caractere pentru memorarea string-ului, si va implementa urmatoarele operatii: constructor, destructor, operator =, operator [], operator const char *, operator ==, operator !=, operator <, operator >, Length.
Clasa Punct va utiliza private 3 numere reale pentru memorarea celor 3 coordonate ale punctului in spatiu, si va implementa operatiile: constructori, destructor, operator =, operator ==, operator +, operator -, operator <<, operator >>
Clasa NrMari va utiliza private un sir de caractere pentru memorarea numarului si vor fi implementate operatiile: constructori, destructor, operator +, operator -, operator *, operator /, operator <, operator >, operator <<, operator >>.