Sunteți pe pagina 1din 3

Subiectul propus pentru acest test este:

Creati clasa Calculator cu:

 Un atribut NrTaste accesibil doar interiorul claselor derivate si innacesibil in rest

 Metodele: Constructor cu 1 argument , Destructor , SetTaste , GetTaste (declarate


si definite in clasa)

 Afisati mesaje de informare in constructor si destructor

Creati clasa Monitor cu:

 Un atribut TipMonitor accesibil doar interiorul claselor derivate si innacesibil in


rest

 Metodele: Constructor cu 1 argument , Destructor , SetTip , GetTip (declarate si


definite in clasa)

 Afisati mesaje de informare in constructor si destructor

Creati clasa Desktop care mosteneste clasa Calculator si clasa Monitor avand:

 Un modificator de acces la mostenire astfel incat atributele mostenite sa nu isi


schimbe vizibilitatea

 Un atribut propriu MemorieRAM

 Un constructor cu 3 argumente (2 mostenite si unul propriu)

 Constructor de copiere

 Destructor

 Constructorul si destructorul vor fi declarate si definite in clasa si vor avea mesaje


de informare.

Creati clasa Notebook care mosteneste clasa Calculator si clasa Monitor avand:

 Un modificator de acces la mostenire astfel incat atributele mostenite sa nu isi


schimbe vizibilitatea

 Un atribut propriu TipAcumulator


 Un constructor cu 3 argumente (2 mostenite si unul propriu)

 Un constructor cu 4 argumente (2 mostenite si 2 proprii, al 4-lea fiind pentru


atributul marca)

 Destructor

 O functie friend cu nume si implementare la alegere , declarata in clasa si definita


inafara clasei

 Constructorii si destructorul vor fi declarate si definite in clasa si vor avea mesaje


de informare.

In clasa Monitor creati o metoda care sa poate fi suprascrisa in clasa Notebook.


Metoda trebuie sa aiba minim un mesaj de informare (diferit in clasa Monitor fata de cel din
clasa Notebook)

In functia main:

 Creati un obiect C1 de tip Calculator care preia datele din Setteri

 Afisati numarul de taste ale obiectului C1

 Creati un obiect D1 de tip Desktop care preia valorile din constructorul cu 3


argumente

 Afisati caracteristicile obiectului D1

 Creati obiectul D2 de tip Desktop si copiati datele din D1

 Creati un obiect N2 de tip Notebook care preia valorile din constructorul cu 4


argumente

 Afisati caracteristicile obiectului N2

 Pentru obiectul N2 folositi functia friend definita in clasa Notebook

 Prezentati ordinea de apelare a constructorilor in clasele de baza si derivate

 Creati un pointer de tipul clasei Monitor

 In pointer memorati adresa obiectului N2


 Apelati functia suprascrisa din Monitor in NoteBook pentru pointerul de tipul
clasei Monitor

 Setati functia suprascrisa sa afiseze pe rand mesajul din clasa Monitor apoi cel din
clasa Notebook