Sari la conținut
Forum Roportal
kingofyoursoul

Programare orientata pe obiecte..

Evaluează acest topic

Postări Recomandate

Salutare,

Am creat topicul asta pentru a cere ajutorul celor care "bijuteresc" softurile de programare de mai mult timp decat unii dintre noi care fac abia primii pasi.

Ca sa trecem la subiect , miercuri am examen la acest superb obiect si din lista ft luuunga a intrebarilor propuse pentru examen nu reusesc sa dau de cap catorva dintre ele:

1.Ce metode pot actiona asupra datelor membre statice.(ma gandeam metodele statice dar pare mult prea banal...in concluzie nu asta e rasp)

2Ce diferente se gasesc intre functiile prietene si metodele statice?

3. O clasa poate avea mai multi destructori?? Daca da,in ce conditii? ... in curs am citit ca una bucata clasa poate avea doar un destructor.... aici m-a bagat in ceata.

4Ce observatii puteti face in legatura cu aritatea unui operator si modul de supraincarcare al acestuia?

5 in cazul supradefinirii metodelor,cum se poate realiza selectia unei metode?

 

Pe la supraincarcarea operatorilor m-a cam pierdut,de aceea as dori,cine stie ca poate explica mai bine sa vina cu cateva informatii.(cursul este foarte prost structurat) :roll:

O zi buna va urez.

Partajează acest post


Link spre post
Distribuie pe alte site-uri

ce cred eu:

1) depinde de atributul pe care il are data. Daca e publica aproape toate functiile o pot apela. Daca e privata o pot apela doar metodele din acea clasa. Daca e protected, doar metodele din clasa in care se afla si din clasele derivata.

2) functiile statice pot accesa doar membrii statici pe cand cele prietene pot accesa si pe ceilalti.

3) din cate stiu functia destructor nu returneaza un anumit tip si nici nu primeste parametrii. Deci daca ai 2 f. destr. vei avea doi membrii identici. cred ca nu se poate.

4) aritatea unui operator reprezinta numarul de argumente al acelui operator(de ex ++ este operator unar, + e binar). daca supraincarci un operator binar vei transmite un parametru, ptr cei unari niciun parametru. La functiile friend transmiti atatia parametri ca si tipul operatorului.

5) supradefinirea este suprascrierea sau overriding-ul. adica in clasa derivata se suprascrie o metoda din clasa de baza. Daca vrei sa apelezi metoda din clasa derivata: apelezi normal(d.metoda), daca vrei sa apelezi metoda din clasa de baza apelezi asa: d.b::metoda(d,b sunt instante ale derivatei si bazei si metoda este publica).

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Supraincarcarea operatoriilor....de exemplu daca ai o clasa fractie si ai

 

 

fractie a, b;

a = new fractie(......

b = new fractie(...... //a,b instante catre clasa fractie

 

 

 

Daca vrei sa aduni a+b si sa de-a rezultatul adunarii(sau altceva( in mod normal nu o sa mearg pentru ca nu are de unde sa se stie rezultatul. Daca supraincarci operatorul + printr-o metoda atunci aceasta metoda este apelata cand faci adunarea la 2 obiecte de tipul fractie iar rezultatul il modelezi tu sa iti returneze ce ai nevoie.

 

Se pot supraicnarca o gramada de operator, +,-,<, unari in forma pre/postfixata etc

Editat de Spiridus7

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum

×