Sa se scrie o clasa care implementeaza meniuri/submeniuri. Un meniu este o colectie de optiuni (siruri de caractere) carora li se asociaza identificatori numerici; meniul are un nume (sir de caractere) si o pozitie in care apare pe ecran (coltul stinga sus al liniei cu numele meniului, sub acesta aparind liniile cu optiunile). Pentru aceasta clasa sa se implementeze: Constructori: implicit, cu parametri (eventual impliciti), de copiere precum si destructorul corespunzator; Sa se implementeze urmatoarele operatii/operatori:
- operatiile de afisare/stergere de pe ecran;
- operatorul * intre meniu si un nume (sir de caractere), numele devenind identificatorul meniului;
- operatorul + intre meniu si un nume de optiune, optiunea adaugindu-se la meniu.
- operatorul ! de sortare alfabetica a optiunilor unui meniu;
- operatorul + intre 2 meniuri: se concateneaza optiunile celor 2 meniuri si se pastreza primul nume;
- operatorul / intre un meniu si un intreg (n) pentru extragerea unui submeniu alcatuit din primele (n) optiuni.
Cerinte de implementare optionale:
- Utilizarea claselor iterator pentru parcurgerea listelor;
- Posibilitatea de stocare si restaurare a datelor;
- Tratarea exceptiilor;
- Dialogul cu utilizatorul prin intermediul unei interfete grafice.