Sunteți pe pagina 1din 5

N1 -> Test Grila 10-20 intrebari (10-20 min)

Exemplu intrebari grila: Care dintre afirmatiile de mai jos este falsa a. Constructorii au acelaţi nume ca şi
numele clasei căreia îi aparţin; b. Constructorii nu întorc nici o valoare (din corpul lor lipseşte
intrucţiunea return; în antetul constructorilor nu se specifică niciodată - la tipul valorii returnate -
cuvântul cheie void); c. Constructorii unei clase nu pot primi ca parametri pointeri sau referinţe la
instanţele clasei respective , ci doar instanţe ale clasei respective; d. Apelul constructorului se realizează
la declararea unui obiect; ………………………………. Functiile prietene sunt: a. functii ne-membre ale unei
clase, care au acces la datele membre private ale unei clase b. functii membre ale unei clase, care au
acces la datele membre private ale unei clase c. functii ne-membre ale unei clase, care nu au acces la
datele membre private ale unei clase d. functii membre ale unei clase, care nu au acces la datele
membre private ale unei clase ………………………. Care dintre afirmatiile de mai jos este falsa: a.
Destructorul are acelaşi nume ca şi clasa a căror metodă este; b. Numele destructorului este precedat
de semnul ~; c. O clasă are un singur destructor; d. Destructorul are cel putin un parametru şi nu
returnează nici o valoare ……………………. Prezenţa funcţiilor ________ anunţă compilatorul să nu mai
genereze instrucţiunile în cod maşină necesare apelului şi revenirii, ceea ce conduce la mărirea timpului
de compilare în favoarea micşorării timpului de execuţie. a. membre b. inline c. prietene d. apelate
……………………… Membrii unei clase sunt: a. datele membre si functiile inline b. functiile inline si funtiile
prietene c. metodele si functiile prietene d. datele membre si metodele ……………………. Dacă
supraîncărcăm acelaşi operator printr-o metodă şi printr-o funcţie prietenă, funcţia prietenă va avea,
întotdeauna: a.un parametru mai putin faţă de metodă b. un parametru în plus faţă de metodă c. doi
parametri mai putin faţă de metodă d. doi parametri în plus faţă de metodă ………………………… Operatorii
_______ pot fi supradefiniţi printr-o funcţie membră nestatică (fără parametri expliciţi) sau printr-o
funcţie prietenă cu un parametru explicit de tipul clasă. a. binari b. unari c. tertiari d. this
………………………….. În cazul în care supraîncărcarea standard este insuficientă, se poate supraîncărca
operatorii prin metode (implicit!): a. statice. b. standard c. explicite

………………………… ///////////////////////////////////////////////////////////////////////////////////////////
//

N2 -> Test Aplicativ 10 intrebari (20 – 25 min) 7-8 din intrebari sunt din (asemanatoare cu) intrebarile
de mai jos

C1 1. Ce este încapsularea?

2. Ce este moştenirea?

3. Ce este polimorfismul?

4. Care sunt funcţiile de intrare/ieşire în C++?

5. Unde trebuiesc plasate argumentele cu valori implicite?

6. Ce înseamnă supraîncarcarea funcţiilor în Limbajul C++?

7. Care sunt operatorii de alocare şi dezalocare de memorie în limbajul C++?

8. Ce este o referinţă ?
9. Referinţa este un pointer?

10. Ce este operatorul de rezoluţie?

11. Unde se pot plasă declaraţiile de variabile în cadrul Limbajului C++?

C2

1. Când acţionează constructorul unei clase?

2. Când acţionează destructorul unei clase?

3. Când este absolut necesară definirea unui constructor de copiere?

4. Când se justifică utilizarea funcţiilor inline?

5. Caracteristicile destructorului unei clase.

6. Care este utilitatea moştenirii?

7. Care sunt deosebirile între o funcţie membră a unei clase şi o functie prietenă a unei clase?

8. Ce fel de metode pot acţiona asupra datelor membre statice ale unei clase?

9. Ce funcţii au acces la membrii privaţi ai unei clase?

10. Ce operator permite referirea unui membru al structurii ?

11. Ce observaţie aveţi în legătură cu metodele definite în interiorul clasei şi funcţiile inline?

12. O clasă poate fi prietenă a altei clase ? Dacă da, ce înseamnă acest lucru?

13. Ce sunt destructorii ?

14. Ce sunt funcţiile inline?

15. Constructorii unei clase pot primi ca parametri instanţe ale clasei respective? Dacă da, în ce condiţii?
16. Cine impune comportamentul unui obiect?

17. Cum se alocă memoria pentru datele membre nestatice în momentul declarării mai multor obiecte
din aceeasi clasă?

18. Deosebiri între stucturi şi clase.

19. Enumerati facilităţile oferite de programarea orientată obiect.

20. Explicaţi conceptul de încapsulare a datelor.

21. Prototipul constructorului de copiere.

22. Explicaţi în câteva cuvinte ce este moştenirea multiplă.

23. Explicaţi în câteva cuvinte ce este moştenirea.

24. Niveluri de acces la membrii şi metodele unei clase.


25. Cum se declară funcţiile prietene?

26. Prin ce se caracterizează datele membre statice?

27. Prin ce se realizează comunicarea între obiectele unei clase?

28. O clasă poate avea mai mulţi desctructori? Dacă da, în ce condiţii?

29. Operatorul :: şi rolul său.Ce sunt funcţiile prietene?

30. Ce este o metodă?

31. Nici funcţiile prietene, nici metodele statice ale unei clase nu primesc ca argument implicit pointerul
this. Explicaţi care sunt, totuşi, diferenţele dintre ele.

32. Ce sunt clasele?

33. Ce sunt constructorii impliciţi?

C3

1. Cum se realizează conversia din clasă1 în clasă2? Daţi un exemplu.

2. Prin ce modalităţi se pot supraîncărca operatorii?

3. Cum se realizează conversia din tip predefinit în clasă? În ce situaţii se realizează conversiile implicite?
4. Ce restricţii impune mecanismul de supraîncărcare a operatorilor?

5. Cum se poate realiza conversia dintr-un tip abstract (clasă) într-un tip predefinit? Exemplu.

6. Ce observaţii puteţi face în legatură cu aritatea unui operator şi modul de supraîncărcare a acestuia?
7. În cazul supraîncărcării metodelor, cum se poate realiza selecţia unei metode ?

C4

1. Ce este o clasă derivată şi ce caracteristici are aceasta?

2. Funcţiile prietene pot fi funcţii virtuale?

3. Destructorii se moştenesc?

4. Ce este o clasă virtuală şi în ce situaţii este utilă?

5. Ce este o metodă virtuală pură şi cum se declară aceasta?

6. Explicaţi ce înseamnă legarea iniţială (early binding).

7. Modul de declarare a unei clase derivate, cu mai multe superclase.

8. Ce este o metodă virtuală ?

9. Funcţiile virtuale pot fi membrii statici ai clasei din care fac parte ?

10. Redefinirea unei funcţii virtuale într-o clasă derivată este similară cu supraîncărcarea funcţiei
respective? Argumentaţi răspunsul.
11. Destructorii pot fi metode virtuale?

12. Constructorii pot fi metode virtuale?

13. Care este utilitatea moştenirii?

14. Explicaţi ce înseamnă legarea ulterioară (late binding).

C5

1. Ce înţelegeţi prin conceptul de stream?

2. Care consideraţi că ar fi avantajele utilizării abordării orientate pe obiecte a sistemului de I/O?

3. Ce sunt manipulatorii?

4. Cum îşi poate crea utilizatorul manipulatorii proprii?

……………………………….

Ce este un camp de biti? …….

…………………………………………….

/////////////////////////////////////////////////////////////////////

Subiect asemanator examen

N2 -> Test Aplicativ

2-3 din intrebari sunt asemanatoare cu intrebarile de mai jos

Aranjati liniile de cod astfel incat sa se obtine rezultatul urmator: Rezultat: B::f(1) B::f(1) B::f(1) Cod:
int main(){

int i; B b[] = { B(), D1(), D2()}; for (i=2;i>=0;i--) {b[i].f();} } class D1: public B{ public: void f()
{ cout<<"D1::f(3) ";} }; class B { public: virtual void f() { cout<<"B::f(1) ";} }; class D2: public B{ public: void
f() { cout<<"D2::f(2) ";} }; ||||||||||||||||||||||||||||||||||||||||||||||||||||

Aranjati liniile de cod astfel incat sa se obtine rezultatul urmator: Rezultat: A aparut o eroare. Exceptia
Nr. 20 Cod: try { throw 20; } catch (int e) { cout<<"Exceptia Nr. " << e << "\n"; cout << "A
aparut o eroare." ; cout<<"\n"; } int main () { return 0; }
||||||||||||||||||||||||||||||||||||||||||||||||||||

Aranjati liniile de cod astfel incat sa se obtine rezultatul urmator: Rezultat: A() A(ct A&) A(i,i) A(i,i) A(i,i)
~A~A~A~A~A Cod: class A { public: A(){cout<<"A()\n";} A(int n,int m=0){cout<<"A(i,i)\n";} A(const A &o)
{cout<<"A(ct A&)\n";} ~A(){cout<<"~A";} }; int main(){ A a3=1;

A a1; A a2=a1; cout<<endl; A a4(1); A a5(1,1); }


||||||||||||||||||||||||||||||||||||||||||||||||||||
N3 -> 2-4 intrebari

In principiu sunt intrebari din subiectele primite la probele N1 si N2, si in plus de recunoscut un prototip,
o supraincarcare, declarare: clasa, static, virtual etc…

Verificare / Examen PCLP II

N1 -> Test Grila 10-20 intrebari (10-20 min)

N2 -> Test Aplicativ 10 intrebari (20 – 25 min)

N3 -> 2-4 intrebari

Nota finala= (N1 + N2 + N3) /2

S-ar putea să vă placă și