Aplicatii - Introducere in C++: Extensii ale limbajului C; Clase; Supradefinirea operatorilor


Sa se realizeze o clasa NrComplex, care implementeaza operatii pentru manipularea numerelor complexe.

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 <<.


Sa se realizeze o clasa Multime, care implementeaza operatii asupra unor multimi de litere.

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 >>.


Sa se realizeze o clasa String, care implementeaza operatii cu siruri de caractere.

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.


Sa se realizeze o clasa Punct care implementeaza operatii asupra unor puncte din spatiul 3D.

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 >>


Sa se realizeze o clasa NrMari care implementeaza operatii aritmetice asupra unor numere intregi foarte lungi(pot avea pina la 200 de cifre).

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 >>.