Sunteți pe pagina 1din 5

1.Caracteristicile destructorului unei clase.

- Destructorul are acelasi nume ca si clasa a cror metod este;


- Numele destructorului este precedat de semnul ~;
- O clas are un singur destructor;
- Destructorul nu are parametri si nu returneaz nici o valoare (antetul nu conine
cuvntul cheie void, iar n corpul destructorului nu apare instructiunea return <ex
presie>;)
- Dac programatorul nu a definit un destructor, compilatorul genereaz au
tomat un destructor pentru clasa respectiv;
- Destructorii se apeleaz la ncheierea timpului de via a obiectelor, n ordine invers
apelurilor constructorilor;
- Obiectele dinamice nu se distrug automat, deoarece doar programatorul tie cnd n
u mai este necesar un astfel de obiect.
2.Care este asemanarea dintre clase si uniuni?
Uniunile sunt similare cu structurile.
3.Care sunt deosebirile dintre structuri/uniuni si clase?
- la structuri membrii (datele si metodele) sunt implicit publici, iar la clase
implicit private
- modul de memorare a datelor membre
4.Care sunt deosebirile ntre o funcie membr a unei clase i o functie prieten a unei c
lase?
- Spre deosebire de functiile membre, functiile prietene ale unei clase nu pose
da pointerul implicit THIS.
5.Care sunt asemanarile ntre o funcie membr a unei clase i o functie prieten a unei c
lase?
Functiile au access la membrii privati
6.Care sunt modalitatile de specializare a unei clase de baza?
Fie sa introduce noi membri, fie sa-I refinesc pe cei existenti.
7.Cazul mostenirii multiple este acela in care?
O clasa are mai multe super clase.
8.Cati destructori definiti de programator poate avea o clasa?
Constructorii si destructorii sunt functii care nu se mostenesc.
O clasa poate avea cel mult un destructor.
Nici unul.
9.Cati constructori definiti de programator poate avea o clasa?
Nici unul din raspunsuri.
10.Care este utilitatea mostenirii?
- Prin mostenire, un obiect poate prelua proprietatile obiectelor din clasa de
baza.
11.Cnd acioneaz constructorul unei clase?

- sunt apelati de fiecare data cand se creeaza o noua instant a clasei
12.Cnd acioneaz destructorul unei clase?
- destructorul este apelat automat , la iesirea din blocul in care este recuno
scut acel obiect.
13.Cti destructori definiti de programator poate avea o clasa?
*NICI UNUL | *CEl MULT UNUL
*UNUL SINGUR
14.Cnd este absolut necesar definirea unui constructor de copiere?

- in situatiile in care un tip de date are ca membrii pointeri, este necesaraa
implementarea unui constructor de copiere.
15.Cnd se justific utilizarea funciilor inline?

- utiliarea fct inline se justifica doar in situatiile in care codul generat d
e compilator pt executia corpului fct este mai mic decat codul generat pt apel s
i revenire.
16.Ce este polimorfismul?
- Polimorfismul sunt acele entiti cu proprieti diferite. Doua sau mai multe obiect
e sunt polimorfe daca au asemanari, dar totusi sunt diferite.
17.Ce este o clasa?
- O clasa reprezinta un tip abstract de date, care incapsuleaza atat elementel
e de date pentru care s-a adoptat un anumit mod de reprezentare, cat si operatii
le asupra datelor.
18.Ce este o clasa derivata?
- O clasa derivata este o specializare a clasei de baza
19.Ce este un camp de biti?
- un sir de biti adiacenti formeaza un camp de biti
20.Ce este o metod?
- metode: functiile membre, functiile declarate sau definite in cadrul clasei.
21.Ce este o metod virtual pur si cum se declar aceasta?
- In unele situatii, o clasa de baza a unei ierarhii, poate fi atat de general
a, astfel incat unele metode nu pot fi descrise la acest nivel, ci doar in clase
derivate. Aceste metode se numesc functii pure.Metodele virtuale pure sunt met
ode care se declara, nu se definesc la acest nivel de abstractizare. O metoda vi
rtuala pura trebuie sa fie prezenta in orice clasa derivata.
22.Ce este motenirea?
- mostenirea este o caracteristica a limbajelor de programare orientate obiec
t, care permite refolosirea codului si extinderea functionalitatii claselor exti
nse. Mecanismul mostenirii permite crearea unei ierarhii de clase si trecerea de
la clasele generale la cele particulare.
23.Ce este motenirea multipl?
- o clasa poate sa mosteneasca mai multe clase de baza, ceea ce inseamna ca t
oti membrii claselor de baza vor fi mosteniti de catre clasa derivate. In aceast
a situatie apare mecanismul mostenirii multiple.
24.Ce este un fisier?
O colectie de date care pot fi manipulate ca un intreg
25.Ce fel de metode pot aciona asupra datelor membre statice ale unei clase?

- metode statice
-metode obisnuite
26.Ce funcii au acces la membrii privai ai unei clase?

- functiile prietene
27.Ce niveluri de access pot fi specializate pentru membrii unei clase?
PROTECTED
PUBLIC
28.Ce observaie avei n legtur cu metodele definite n interiorul clasei i funciile inli
?
- in cazul metodelor unei clase, daca acestea sunt definite in interiorul clas
ei, ele sunt considerate,implicit, functii inline
29.Ce operator permite referirea unui membru al structurii ?
- operatorul de selectie
30.Ce posibilitati de definire a unor noi tipuri de date va ofera limbajul C/C++
?
- structurilor
- campurilor de biti
- uniunilor
- declaratiilor typedef
- enumerarilor
31.Ce restrictii impune folosirea campurilor de biti?
- tipul membrilor poate fi int sau unsigned int
- lungimea este o constanta intreaga din intervalul [0,31]
- un camp de biti nu poate fi operandul unui operator de referentiere
- nu se poate organiza tablouri de campuri de biti
32.Ce restrictii impune mecanismul de suprancrcare a operatorilor?
- Se pot supraincarca doar operatorii existenti; nu se pot crea noi operatori
- Nu se poate modifica aritatea operatorilor limbajului
- Nu se poate modifica precedenta si asociativitatea operatorilor
- Desi operatorii supraincarcati pastreaza aritatea si precedenta operatorilor
predefiniti, ei nu mostenesc si comutativitatea acestora
- Nu pot fi supraincarcati operatorii .(operatorul selector al unui membru),
.* (operatorul de deferentiere,selectie indirecta a unui membru), :: (de rezolut
ie, de aparenta, scop) si ?: (operatorul conditional)
33.Ce sunt destructorii ?
-Destructorii sunt metode ale claselor care actioneaza in sens invers, complem
entar, fata de constructori. Destructorul elibereaza memoria alocata de construc
tori.
34.Ce sunt funciile inline?
-in situatiile in care corpul fct apelate este format din cateva instructiuni,
operatiile implicate in apel si revenire pot fi mai complicate decat un apel pr
in expandare (in care apelul fct in fct apelanta este inlocuit cu insusi corpul
fct apelate).Pt eliminarea acestor dezavantaje se folosesc fct inline.
35.Ce sunt functiile prietene?
- functiile prietene(friend) sunt functii ne-membre ale unei clase, care au acc
es la datele member private ale clasei.
36.Ce pseudovariabile apar in limbajul C?
Una singura pointerul THIS
37.Cine impune comportamentul unui obiect?

-comportamentul unui obiect este determinat de catre actiunile pe care obiectu
l poate sa le execute (metodele)
38.Constructorii unei clase pot primi ca parametri instane ale clasei respective?
Dac da, n ce condiii?
- NU
39.Constructorii pot fi metode virtuale?
- NU sau NICIODATA
40.Cum se aloc memoria pentru datele membre nestatice n momentul declarrii mai mult
or obiecte din aceeasi clas?
- pentru data membra i se realizeaza o copie pentru fiecare instanta a clasei
41.Cum se apeleaza o metoda statica?
O metoda static se apeleaza ca o metoda obisnuita sau legata de clasa.
42.Cum se declar funciile prietene?
- se utilizeaza friend
43.Cum se poate realiza conversia dintr-un tip abstract (clas) ntr-un tip predefin
it? Dati un exemplu.
- Acest tip de conversie se realizeaza printr-un operator special (cast) care
converterste obiectul din clasa la tipul predefinit. Operatorul de conversie exp
licita se supraincarca printr-o functie membra nestatica.
<nume_clasa>:: operator<nume_tip_predefinit>( );
44.Cum se face interferenta intre obiecte si membrii unei clase?
prin metode
45.Cum se numesc componentele unei structuri?
- Componentele unei structuri se numesc membrii (campurile) structurii.
46.Cum se realizeaz conversia din tip predefinit n clas? n ce situatii se realizeaz c
onversiile implicite?
- Astfel de conversii se pot realiza atat implicit, cat si explicit, in cazul
in care pentru clasa respectiva exista un constrcutor cu parametri impliciti, d
e tipul predefinit.
47.Datele membre ale unei clase pot fi redefinite in cadrul clasei derivate de a
ceasta?
Da.
48.Destructorii se mostenesc?
- NU
49.Destructorii pot fi metode virtuale?
- DA
50.Enumerati facilitile oferite de programarea orientat obiect.
- abstractizarea datelor
- mostenirea
- incapsularea informatiei
- legarea dinamica
51.Explicati ce nseamn legarea initial (early binding).
- Informatiile necesare selectarii metodei sunt prezentate din timp si pot fi
utilizate din faza de compilare.
52.Explicati ce nseamn legarea ulterioar (late binding).
- Identificarea unei metode supradefinite, in momentul executiei, se numeste l
egare ulterioara.
53.Explicai conceptul de ncapsulare a datelor.
- membrii private(incapsulati,ascunsi) ofera descrierea datelor member ale fi
ecarei instante a clasei si detalii de implementare particulae clasei respective
.
54.Functiile prietene pot fi functii virtuale?
- NU
55.n cazul supradefinirii metodelor, cum se poate realiza selecia unei metode ?
- selectia se realizeaza automat prin parametrii
56.In ce consta diferenta dintre structuri si uniuni?
- Diferenta dintre structuri si uniuni consta in modul de memorare
57.In ce situatii, pentru un tip de date definit de utilizator, este absolut nec
esara definirea unui constructor de copiere?
In conditiile in care o clasa are ca date membri pointeri.
58.In ce stituatie o metoda a unei clase este implicit functie inline?
Cand metoda este definite la declararea clasei.
59.In ce structura C sunt continute informatiile despre un fisier..?
Intr-o structura FILE.
60.La incarcarea supraoperatorilor aritatea poate fi schimbata?
Nu.
61.Legarea dinamica ?
Selectia unui obiect in momementul executiei si lucrul cu pointeri
62.Legatur intre aritatea unui operator i modul de suprancarcare a acestuia?
- nu se poate modifica arietatea operatorilor limbajului (operatorii unari nu
pot fi supraincarcati ca operatori binary, si invers)
- desi operatorii supraincarcati pastreaza aritatea si precedenta operatorilor
predefiniti, ei nu mostenesc si comutativitatea acestora.
63.Nici funciile prietene, nici metodele statice ale unei clase nu primesc ca arg
ument implicit pointerul this. Explicai care sunt, totui, diferenele dintre ele.
- deoarece o metoda statica se apeleaza independent de un obiect al clasei,
pointerul this nu mai poate fi utilizat. Metodele statice apartin clasi respecti
ve, functiile prietene nu
64.Niveluri de acces la membrii i metodele unei clase.
- Niveluri: private, protected, public, friend
- Metodele: statice, nestatice
65.O clas poate fi prieten a altei clase ?Dac da, ce nseamn acest lucru?
clasele prietene sunt clase care au acces la membrii privati ai unei clase.
66.O clasa poate fi prietena unei clase? Daca da, explicati.
Fiecare metoda a clasei prietena este metoda celeilalte clase.
67.O clasa poate avea mai multi constructori?
Da
68.O clasa poate avea pe langa date membri si metode?
DA
69.O clas poate avea mai muli destructori?Dac da, n ce condiii?
- NU
70.O metoda static poate fi apelata ca si o metoda obisnuita ?
DA
71.Operatorul :: si rolul su. opearatorul scope :: cupleaza <nume_clasa>::<nume_f
unctie_membru> si defineste domeniul (scopul) in care acea functie va fi recunos
cuta.
72.Operatolul de conversie explicita se suprareincarca prin?
Prin metode NESTATICE.
73.Operatorul NEW si DELITE se suprareincarca prin?
Prin metode STATICE
74.Prin ce modalitti se pot suprancrca operatorii?
- Printr-o functie membra a clasei
- Printr-o functie prietena a clasei
75.Prin ce se caracterizeaz datele membre statice?
- exista intr-un singur exemplar, comun, pentru toate instantele clasei
76.Prin ce se realizeaz comunicarea ntre obiectele unei clase?
- prin operatori
77.Prototipul constructorului de copiere pentru TIP
- tip (const tip & );
78.Prototipul operatorului extractor pentru tipul de date C
istream & operator >> (istream &, C &)
79.Prototipul operatorului insertor pentru tipul de date C
ostream & operator << (ostream &, C &)