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 <expresie>;) - Dac programatorul nu a definit un destructor, compilatorul genereaz automat 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 nu 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 clase? - Spre deosebire de functiile membre, functiile prietene ale unei clase nu poseda pointerul implicit THIS. 5.Care sunt asemanarile ntre o funcie membr a unei clase i o functie prieten a unei clase? - 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 recunoscut 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 de compilator pt executia corpului fct este mai mic decat codul generat pt apel si revenire. 16.Ce este polimorfismul? - Polimorfismul sunt acele entiti cu proprieti diferite. Doua sau mai multe obiecte 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 elementele de date pentru care s-a adoptat un anumit mod de reprezentare, cat si operatiile 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 generala, 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 metode care se declara, nu se definesc la acest nivel de abstractizare. O metoda virtuala pura trebuie sa fie prezenta in orice clasa derivata. 22.Ce este motenirea? - mostenirea este o caracteristica a limbajelor de programare orientate obiect, care permite refolosirea codului si extinderea functionalitatii claselor extinse. 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 toti membrii claselor de baza vor fi mosteniti de catre clasa derivate. In aceasta 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 inline? - in cazul metodelor unei clase, daca acestea sunt definite in interiorul clasei, 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 rezolutie, de aparenta, scop) si ?: (operatorul conditional) 33.Ce sunt destructorii ? -Destructorii sunt metode ale claselor care actioneaza in sens invers, complementar, fata de constructori. Destructorul elibereaza memoria alocata de constructori. 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 prin 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 acces 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 obiectul 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 multor 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 predefinit? 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 explicita 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 conversiile 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, de tipul predefinit. 47.Datele membre ale unei clase pot fi redefinite in cadrul clasei derivate de aceasta? - 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 legare ulterioara. 53.Explicai conceptul de ncapsulare a datelor. - membrii private(incapsulati,ascunsi) ofera descrierea datelor member ale fiecarei 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 necesara 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 argument 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 respective, 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_functie_membru> si defineste domeniul (scopul) in care acea functie va fi recunoscuta. 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 &)

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