Sunteți pe pagina 1din 6

EXAMEN LPOO (teorie)

1. Carac teristicile 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 e!presie";#
- Dac programatorul nu a de$init un destructor, compilatorul genereaz automat un destructor
pentru clasa respectiv;
- Destructorii se apeleaz la ncheierea timpului de viat a o%iectelor, n ordine invers apelurilor
constructorilor;
- O%iectele dinamice nu se distrug automat, deoarece doar programatorul stie cnd nu mai este
necesar un ast$el de o%iect&
2.Care este asemanarea dintre clase si uniuni?
'niunile sunt similare cu structurile&
3.Care sunt deoseirile dintre structuri!uniuni si clase?
- la structuri mem%rii (datele si metodele# sunt implicit pu%lici, iar la clase implicit private
- modul de memorare a datelor mem%re
".Care sunt deoseirile #ntre o $unc%ie memr& a unei clase 'i o $unctie (rieten& a unei clase?
- (pre deose%ire de $unctiile mem%re, $unctiile prietene ale unei clase nu poseda pointerul implicit
)*+(&
).Care sunt asemanarile #ntre o $unc%ie memr& a unei clase 'i o $unctie (rieten& a unei clase?
- ,unctiile au access la mem%rii private
-
*.Care sunt modalitatile de s(eciali+are a unei clase de a+a?
,ie sa introduca noi mem%ri, $ie sai re$inesca pe cei e!istenti&
,.Ca+ul mostenirii multi(le este acela in care?
O clasa are mai multe super clase&
-.Cati destructori de$initi de (ro.ramator (oate a/ea o clasa?
-onstructorii si destructorii sunt $unctii care nu se mostenesc&
O clasa poate avea cel mult un destructor&
Nici unul&
0.Cati constructori de$initi de (ro.ramator (oate a/ea o clasa?
Nici unul din raspunsuri&
11.Care este utilitatea mostenirii?
- .rin mostenire, un o%iect poate prelua proprietatile o%iectelor din clasa de %aza&
11.C2nd ac%ionea+& constructorul unei clase?
- sunt apelati de $iecare data cand se creeaza o noua instant a clasei
12.C2nd ac%ionea+& destructorul unei clase?
- destructorul este apelat automat , la iesirea din %locul in care este recunoscut acel o%iect&
13.C2ti destructori de$initi de (ro.ramator (oate a/ea o clasa?
/N+-+ 'N'0 1 /-2l 3'0) 'N'0
/'N'0 (+N4'5
1".C2nd este asolut necesar& de$inirea unui constructor de co(iere?
- in situatiile in care un tip de date are ca mem%rii pointeri, este necesaraa implementarea unui
constructor de copiere&
1).C2nd se 3usti$ic& utili+area $unc%iilor inline?
- utiliarea $ct inline se 6usti$ica doar in situatiile in care codul generat de compilator pt e!ecutia
corpului $ct este mai mic decat codul generat pt apel si revenire&
1*.Ce este (olimor$ismul?
- .olimor$ismul sunt acele entit78i cu propriet78i di$erite& Doua sau mai multe o%iecte sunt polimor$e
daca au asemanari, dar totusi sunt di$erite&
1,.Ce este o clasa?
- O clasa reprezinta un tip a%stract de date, care incapsuleaza atat elementele de date pentru care
s-a adoptat un anumit mod de reprezentare, cat si operatiile asupra datelor&
1-.Ce este o clasa deri/ata?
- O clasa derivata este o specializare a clasei de %aza
10.Ce este un cam( de iti?
- un sir de %iti adiacenti $ormeaza un camp de %iti
21.Ce este o metod&?
- metode9 $unctiile mem%re, $unctiile declarate sau de$inite in cadrul clasei&
21.Ce este o metod4 /irtual4 (ur4 si cum se declar4 aceasta?
- +n unele situatii, o clasa de %aza a unei ierarhii, poate $i atat de generala, ast$el incat unele metode
nu pot $i descrise la acest nivel, ci doar in clase derivate& :ceste metode se numesc $unctii
pure&3etodele virtuale pure sunt metode care se declara, nu se de$inesc la acest nivel de
a%stractizare& O metoda virtuala pura tre%uie sa $ie prezenta in orice clasa derivata&
22.Ce este mo'tenirea?
- mostenirea este o caracteristica a lim%a6elor de programare orientate o%iect, care permite
re$olosirea codului si e!tinderea $unctionalitatii claselor e!tinse& 3ecanismul mostenirii permite
crearea unei ierarhii de clase si trecerea de la clasele generale la cele particulare&
23.Ce este mo'tenirea multi(l&?
- o clasa poate sa mosteneasca mai multe clase de %aza, ceea ce inseamna ca toti mem%rii
claselor de %aza vor $i mosteniti de catre clasa derivate& +n aceasta situatie apare mecanismul
mostenirii multiple&
2".Ce este un $isier?
- O colectie de date care pot $i manipulate ca un intreg
2).Ce $el de metode (ot ac%iona asu(ra datelor memre statice ale unei clase?
- metode statice
-metode o%isnuite
2*.Ce $unc%ii au acces la memrii (ri/a%i ai unei clase?
- $unctiile prietene
2,.Ce ni/eluri de access (ot $i s(eciali+ate (entru memrii unei clase?
- .5O)2-)2D
- .';0+-
-
2-.Ce oser/a%ie a/e%i #n le.&tur& cu metodele de$inite #n interiorul clasei 'i $unc%iile inline?
- in cazul metodelor unei clase, daca acestea sunt de$inite in interiorul clasei, ele sunt
considerate,implicit, $unctii inline
20.Ce o(erator (ermite re$erirea unui memru al structurii ?
- operatorul de selectie
31.Ce (osiilitati de de$inire a unor noi ti(uri de date /a o$era lima3ul C!C55?
- structurilor
- campurilor de %iti
- uniunilor
- declaratiilor t<pede$
- enumerarilor
31.Ce restrictii im(une $olosirea cam(urilor de iti?
- tipul mem%rilor poate $i int sau unsigned int
- lungimea este o constanta intreaga din intervalul =>,?@A
- un camp de %iti nu poate $i operandul unui operator de re$erentiere
- nu se poate organiza ta%louri de campuri de %iti
32.Ce restrictii im(une mecanismul de su(ra#nc4rcare a o(eratorilor?
- (e pot supraincarca doar operatorii e!istenti; nu se pot crea noi operatori
- Nu se poate modi$ica aritatea operatorilor lim%a6ului
- Nu se poate modi$ica precedenta si asociativitatea operatorilor
- Desi operatorii supraincarcati pastreaza aritatea si precedenta operatorilor prede$initi, ei nu
mostenesc si comutativitatea acestora
- Nu pot $i supraincarcati operatorii &(operatorul selector al unui mem%ru#, &/ (operatorul de
de$erentiere,selectie indirecta a unui mem%ru#, 99 (de rezolutie, de aparenta, scop# si B9 (operatorul
conditional#
33.Ce sunt destructorii ?
-Destructorii sunt metode ale claselor care actioneaza in sens invers, complementar, $ata de
constructori& Destructorul eli%ereaza memoria alocata de constructori&
3".Ce sunt $unc%iile inline?
-in situatiile in care corpul $ct apelate este $ormat din cateva instructiuni, operatiile implicate in apel si
revenire pot $i mai complicate decat un apel prin e!pandare (in care apelul $ct in $ct apelanta este
inlocuit cu insusi corpul $ct apelate#&.t eliminarea acestor dezavanta6e se $olosesc $ct inline&
3).Ce sunt $unctiile (rietene?
- $unctiile prietene($riend# sunt $unctii ne-mem%re ale unei clase, care au acces la datele mem%er
private ale clasei&
3*.Ce (seudo/ariaile a(ar in lima3ul C?
'na singura pointerul )*+(
3,.Cine im(une com(ortamentul unui oiect?
-comportamentul unui o%iect este determinat de catre actiunile pe care o%iectul poate sa le e!ecute
(metodele#
3-.Constructorii unei clase (ot (rimi ca (arametri instan%e ale clasei res(ecti/e? 6ac& da7 #n
ce condi%ii?
- N'
30.Constructorii (ot $i metode /irtuale?
- N' sau N+-+OD:):
"1.Cum se aloc& memoria (entru datele memre nestatice #n momentul declar&rii mai multor
oiecte din aceeasi clas&?
- pentru data mem%ra i se realizeaza o copie pentru $iecare instanta a clasei
"1.Cum se a(elea+a o metoda statica?
O metoda static se apeleaza ca o metoda o%isnuita sau legata de clasa&
"2.Cum se declar& $unc%iile (rietene?
- se utilizeaza C$riendD
"3.Cum se (oate reali+a con/ersia dintr8un ti( astract (clas4) #ntr8un ti( (rede$init? 6ati un
e9em(lu.
- :cest tip de conversie se realizeaza printr-un operator special (cast# care converterste o%iectul din
clasa la tipul prede$init& Operatorul de conversie e!plicita se supraincarca printr-o $unctie mem%ra
nestatica&
numeEclasa"99 operatornumeEtipEprede$init"( #;
"".Cum se $ace inter$erenta intre oiecte si memrii unei clase?
- prin metode
-
").Cum se numesc com(onentele unei structuri?
- -omponentele unei structuri se numesc mem%rii (campurile# structurii&
"*.Cum se reali+ea+4 con/ersia din ti( (rede$init #n clas4? :n ce situatii se reali+ea+4
con/ersiile im(licite?
- :st$el de conversii se pot realiza atat implicit, cat si e!plicit, in cazul in care pentru clasa
respectiva e!ista un constrcutor cu parametri impliciti, de tipul prede$init&
",.6atele memre ale unei clase (ot $i rede$inite in cadrul clasei deri/ate de aceasta?
- Da&
-
"-.6estructorii se mostenesc?
- N'
"0.6estructorii (ot $i metode /irtuale?
- D:
)1.Enumerati $acilit&%ile o$erite de (ro.ramarea orientat& oiect.
- a%stractizarea datelor
- mostenirea
- incapsularea in$ormatiei
- legarea dinamica
)1.E9(licati ce #nseamn4 le.area initial4 (earl; indin.).
- +n$ormatiile necesare selectarii metodei sunt prezentate din timp si pot $i utilizate din $aza de
compilare&
)2.E9(licati ce #nseamn4 le.area ulterioar4 (late indin.).
- +denti$icarea unei metode suprade$inite, in momentul e!ecutiei, se numeste legare ulterioara&
)3.E9(lica%i conce(tul de #nca(sulare a datelor.
- mem%rii private(incapsulati,ascunsi# o$era descrierea datelor mem%er ale $iecarei instante a clasei
si detalii de implementare particulae clasei respective&
)".<unctiile (rietene (ot $i $unctii /irtuale?
- N'
)).:n ca+ul su(rade$inirii metodelor7 cum se (oate reali+a selec%ia unei metode ?
- selectia se realizeaza automat prin parametrii
)*.=n ce consta di$erenta dintre structuri si uniuni?
- Di$erenta dintre structuri si uniuni consta in modul de memorare
),.=n ce situatii7 (entru un ti( de date de$init de utili+ator7 este asolut necesara de$inirea unui
constructor de co(iere?
+n conditiile in care o clasa are ca date mem%ri pointeri&
)-.=n ce stituatie o metoda a unei clase este im(licit $unctie inline?
-and metoda este de$inite la declararea clasei&
)0.=n ce structura C sunt continute in$ormatiile des(re un $isier..?
+ntr-o structura ,+02&
*1.La incarcarea su(rao(eratorilor aritatea (oate $i sc>imata?
Nu&
*1.Le.area dinamica ?
(electia unui o%iect in momementul e!ecutiei si lucrul cu pointeri
*2.Le.atur& intre aritatea unui o(erator 'i modul de su(ra#ncarcare a acestuia?
- nu se poate modi$ica arietatea operatorilor lim%a6ului (operatorii unari nu pot $i supraincarcati ca
operatori %inar<, si invers#
- desi operatorii supraincarcati pastreaza aritatea si precedenta operatorilor prede$initi, ei nu
mostenesc si comutativitatea acestora&
*3.Nici $unc%iile (rietene7 nici metodele statice ale unei clase nu (rimesc ca ar.ument im(licit
(ointerul t>is. E9(lica%i care sunt7 totu'i7 di$eren%ele dintre ele.
- deoarece o metoda statica se apeleaza independent de un o%iect al clasei, pointerul this nu mai
poate $i utilizat& 3etodele statice apartin clasi respective, $unctiile prietene nu
*".Ni/eluri de acces la memrii 'i metodele unei clase.
- Niveluri9 private, protected, pu%lic, $riend
- 3etodele9 statice, nestatice
*).O clas& (oate $i (rieten& a altei clase ?6ac& da7 ce #nseamn& acest lucru?
- clasele prietene sunt clase care au acces la mem%rii privati ai unei clase&
-
**.O clasa (oate $i (rietena unei clase? 6aca da7 e9(licati.
,iecare metoda a clasei prietena este metoda celeilalte clase&
*,.O clasa (oate a/ea mai multi constructori?
- Da
-
*-.O clasa (oate a/ea (e lan.a date memri si metode?
- D:
-
*0.O clas& (oate a/ea mai mul%i destructori?6ac& da7 #n ce condi%ii?
- N'
,1.O metoda static (oate $i a(elata ca si o metoda oisnuita ?
- D:
-
,1.O(eratorul ?? si rolul s4u. F opearatorul scope C 99 D cupleaza
numeEclasa"99numeE$unctieEmem%ru" si de$ineste domeniul (scopul# in care acea $unctie va $i
recunoscuta&
,2.O(eratolul de con/ersie e9(licita se su(rareincarca (rin?
.rin metode N2():)+-2&
,3.O(eratorul NE@ si 6EL=AE se su(rareincarca (rin?
.rin metode ():)+-2
,".Prin ce modalit4ti se (ot su(ra#nc4rca o(eratorii?
- .rintr-o $unctie mem%ra a clasei
- .rintr-o $unctie prietena a clasei
,).Prin ce se caracteri+ea+& datele memre statice?
- e!ista intr-un singur e!emplar, comun, pentru toate instantele clasei
,*.Prin ce se reali+ea+& comunicarea #ntre oiectele unei clase?
- prin operatori
,,.Prototi(ul constructorului de co(iere (entru A=P
- tip (const tip G #;
,-.Prototi(ul o(eratorului e9tractor (entru ti(ul de date C
- istream G operator "" (istream G, - G#
-
,0.Prototi(ul o(eratorului insertor (entru ti(ul de date C
- ostream G operator (ostream G, - G#

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