Professional Documents
Culture Documents
Intrebari Examen C++ Intrebari Examen C++
Intrebari Examen C++ Intrebari Examen C++
14. %unctieiCmembre
e repre*inta this in destructor: ,ointer ce contine adresa obiectului apelator al
1$. Ce repre*inta t!is intro %unctie membra: ,ointer ce contine adresa obiectului
apelator al %unctiei membre
16. Ce repre*inta this intro %unctie statica: error C23$$: t!is + error C222&: le%t o% -
prima eroare se re%era la %aptul ca t!is nu este apelabil decat in %unctii nonstatice (cele
statice nu primesc parametrul eplicit t!is) iar a doua eroare este pentru ca in stan"a
sa"etii - (ce repre*inta de %apt
%apt ( ). ) nu eista pointer catre o clasa/structura/un
clasa/structura/un union/un
tip "eneric
1&. Ce este o %unctie membra: %unctii ale unei clase ce primesc parametrul eplicit t!is
1#. Ce este o %unctie statica: %unctii ale unei clase ce primesc parametrul eplicit
t!is
1'. Ce este un atribut static: camp al clasei ce actionea*a ca o variabila "lobala acesta
este vi*ibil in orice scope si nu este distrus cand se iese din scopeul clasei accesare prin
numele clasei nu prin obiectele create
24. se comporta
Ce repdi%erit
re*intin
a s%unctie
upradede %initipul
rea: obiectului antetele
suprade%inirea trebuie
%unctiilor sa %ie identice
repre*inta procesul runtime
de a de%ini
noi %unctii cu acelasi nume insa cu antet di%erit: di%era tipul sau numarul parametrilor tipul
re*ultat di%erentia*a antete nu contea*a daca sunt mostenite sau nu toate se a%la in
acelasi scope compile time
2$. Care eseste ut
utilitatea susuprade%inirii: o%era %leibilitate cand vine vorba de %unctii carora
vrem sa le pasam combinatii diverse de parametrii
26. Ce este o %unctie virtuala: o %unctie ce ne asteptam sa %ie rede%inita in ca*ul in care
avem o situatie in care compilatorului nu ii este preci*at clar ce versiune sa %oloseasca
%unctia virtuala ne permite ca obiectele derivate sa %oloseasca %unctia rede%inita o %unctie
virtuala pura repre*inta doar o de%initie a antetului %unctiei urmat de 5 0 lucru ce
inseamna ca acea %unctie 7898 rede%inita in clasele derivate de asemenea clasele ce
contin cel putin o metoda virtuala pura se numesc clase abstracte de ba*a (;bstract 9ase
Class)
2&. ,rin ce
ce se
se iim
mplementea* ea*a co conceptul dede ,o
,olimor%ism: %olosind ;9S
2#.
2#. Care
Care sunt
sunt modi
modi%i %ica
cato
tori
riii de acce
access si ce vi*i
vi*ibil
bilit
itat
ate
e o%e
o%erara date
datelolor/
r/%u
%unc
nctitiilo
ilorr memb
membre re in
ca*ul derivarii claselor: private atribute accesibile <=;7 din interiorul clasei sau
obiectelor si din cele derivate protected atribute accesibile doar din interiorul
obiectelor clasei
clasei cat si cele derivate si public atribute accesibile de oriunde din scopeul
in care e de%inita clasa
2'. n ce cont
nte
et este util modi%icatorul de acces private: cand nu dorim ca alti utili*atori
sau %unctii sa poata accesa direct acele atribute sau %unctii membre (si sa le manipule*e
dupa voia lor modi%ice etc) S,7> ,7C,> C;,S>;7
30..
30 Care
Care susunt
nt tipu
tipuri
rile
le de co
cons nstr truc
ucto
tori
ri in ca
cadr
drul
ul unei
unei cl
clas
asee si
si c
ce
e rol
rol ar
are
e %%ie
ieca
carere:: de%ault
creare obiect initiali*are campuri (atentie la pointer?) parametrii idem costructor de copiere
apelat cand se creea*a parametrii unei une i %unctii si cand se declara o noua instanta ast%el:
nume@clasa nume@obiect(nume@obiect@deAa@creat) sau nume@clasa nume@obiect 5
nume@obiect@deAa@creat
31..
31 Care
Care est
este
e di%
di%er
erenenta
ta intr
intre e rolu
rolull oper
operatator
orul
ului
ui 5 si ce
cell al
al cons
constrtruc
ucto
toru
rulu
luii de cocopi
pier
ere:
e:
operatorul 5 este %olosit in situatia in care cele doua obiecte sunt deAa create: ob1 5 ob2
32. Cand este apelat constructorul d de
e copiere: ve*i mai sus
33. Cand este apelat operatorul 5: ve*i mai sus
34. Ce este un memory leak: situatia in care nu de*alocam spatiul alocat pointerii pot
primi noi adrese insa %ostul spatiu alocat din !eap ramane blocat pana la s%arsitul rularii
pro"ramului
3$. Ce este un dan"lin" pointer: situatia in care un pointer indica o *ona de memorie
ineistenta de eemplu atunci cand un pointer primeste adresa unei variabile ce este
distrusa cand se iese din scopeul ei
36. Care este rolul destructorului: (daca e scris bine) sa distru"a obiectele cand este
apelat cu alte cuvinte sa de*aloce spatiul alocat pentru obiectele respective
3&. Cand se apelea*a destructorul: la s%arsitul pro"ramului sau scopeului in care sunt
create obiectele respective
respective
3#. Ce este memoria B8;,: *ona din 7; de unde pro"ramele isi pot re*erva bucati
de memorie
3'. Cum se aloca spatiu de memorie in B8;,: cu operatorul neD sau %unctia malloc se
returnea*a adresa de memorie de unde incepe un bloc continuu de dimensiunea ceruta
*ona de memorie blocata unde nu au acces alte pro"rame sau procese
40. Cum se eliberea*a memoria in B8;,: cu operatorul delete sau %unctia %ree se
eliberea*a memoria alocata aceasta putand %i suprascrisa si %olosita de alte instante
41. primeste Cualta
m svaloare
e "eneresia* au
nu n memory
avem cum saleak:
mai pointerul
de*alocam ce acea
indica*ona
o *ona
de de memorie
memorie alocata
alocata
42. Care este rolul %unctiilor accesor: in cadrul claseiclasei inter%ata publica prin care putem
primi valorile atributelor private %ara insa a le putea modi%ica
43..
43 Ce rol
rol au
au %unc
%uncti
tiil
ile
e %%ri
rien
end
d in ca
cadr
drul
ul cla
clase
selolorr si ca
care
re sun
suntt cara
caract
cter
eris
isti
tici
cile
le ace
acest
stor
ora:
a:
%unctiile declarate %riend au acces la *ona privata a clasei insa ne%iind %unctii membre nu
primesc parametrul eplicit t!is
44. Ce repre*inta conceptul de incapsulare: concept al pro"ramarii orientate obiect ce
presupune i*olarea atributelor obiectelor de mediul apelant ap elant incapsularea este un EcontractE
prin care obiectul isi proteAea*a %unctionarea %ata de modulul apelant.
Cunostinte suplimentare
suplimentare - utilizate pentru rotunjirea notei
1. Care
Care est
este ord
ordininea
ea de apel
apel a con
conststru
ruc
cto
tori
rilo
lorr in
in cad
cadru
rull ier
ierar
ar!i
!iiilor
lor de
de cl
clas
ase:
e:
descendent de la clasa/ele de ba*a spre clasele derivate
2. Care
Care est
este ord
ordininea
ea de apel
apel a dedestr
structo
uctori
rilo
lorr in
in cad
cadru
rull ier
ierar
ar!i
!iil
ilor
or de clase
lase:: ascendent
de la clasele derivate catre clasa/ele de ba*a
3. Ce rol
rol au %u
%unc
ncttiile
iile virtu
irtual
ale
e in cadru
adrull ierar
erar!i
!iiilor
lor de clas
lase stabi abiles
lesc: in clasa de ba*a un
sablon de %unctie de%ault ce poate %i suprascrisa (supraincarcata) in clasele derivate
4. Ce este o %unctie virtuala pura: 50 5- ;9S
$. Ce este o clasa abstracta:
6. Ce restrictii impune o clasa abstracta: nu pot %i instantiate obiecte de tipul abs doar
derivate
&. Cum se reali*ea*a mostenirea multipla in C++: class umeClasa :
>istaClase<e9a*a unde >istaClase<e9a*a este: Speci%icator;cces umeClasa<e9a*a ...
Speci%icator;ccess:: private protected sau public
Speci%icator;ccess
#. Ce sunt
sunt %unct
%unctiil
iile
e inline
inline:: inline ii spune compilatorului sa incerce sa copie*e %unctia
acolo unde este apelata ca si cum am scrieo de mana de %iecare data cand o
apelam e%ect: economie de timp si de spatiu deoarece nu este adau"ata la stacF
%unctia cu toti parametrii ca apoi sa %ie eecutata %unctia si apoi eliberat stacFul
creste dimensiunea sursei ( si implicit a codului obiect )
#. Ce repre*
repre*int
intaa conc
concepteptul
ul de is a: o clasa mosteneste o clasa parinte
#. Ce repre*
repre*int
intaa conc
concepteptul
ul de has a: o clasa contine un atribut de tipul celeilalte clase