Cuprins
- I. Tema proiectului pag 2
- I.1. Enunt pag 2
- II. Notiuni fundamentale privind programarea orientata pe obiecte pag 2
- II.1 Notiuni introductive pag 2
- II.2 Clase si obiecte pag 3
- II.3 Functii membru ale unei clase pag 5
- II.4 Declararea si utilizarea functiilor de clase speciale pag 5
- II.4.1 Functii constructor pag 5
- II.4.2 Alocarea memoriei prin functiile constructor.
- Controlul alocarii memoriei pag 7
- II.4.3 Supraincarcarea functiilor constructor si a
- functiilor member pag 7
- III. Analiza aplicatiei de proiectat pag 8
- III.1 Descrierea datelor de intrare si de iesire pag 8
- III.2 Schema SPAD pag 9
- III.3 Descrierea in pseudocod a algoritmului pag 9
- IV. Programul in limbajul C++ pag 10
- V. Rezultate in urma executiei aplicatiei pag 18
- VI. Descrierea metodologiei programului direct executabil pag 19
- VII. Concluzii pag 19
- VIII. Bibliografie pag 20
Extras din proiect
I. TEMA PROIECTULUI
I. 1. ENUNT
Se considera un vector care contine numarul variabil de perechi de pantaloni (p[20]), care se pot produce intr-o fabrica de confectii, costurile fixe necesare producerii acestor produse (cf), costul de productie variabil pe unitatea de produs (cp) si pretul de vanzare pe piata a acestui produs (pv). Se cere, utilizandu-se o functie constructor intr-o clasa adecvat definita, vectorul costurilor totale (ct), vectorul veniturilor obtinute prin vanzarea produselor (vt), vectorul profiturilor realizate si detreminarea punctului critic care desparte zona pierderilor de zona profitului. Se va utiliza supraincarcarea functiei constructor cu o a doua functie care sa afiseze un mesaj de eroare in cazul in care, functiei constructor principale, nu i se transmit toti paramatrii necesari reolvarii aplicatiei. De asemenea, se va utiliza tehnica pointerilor pentru vectorii utilizati, alocarea dinamica a memoriei necesare si verificarea alocarii corecte a volumului de memorie necesar.
II. NOTIUNI FUNDAMENTALE PRIVIND
PROGRAMAREA ORIENTATA PE OBIECTE
II.1. NOTIUNI INTRODUCTIVE
Programarea orientata pe obiecte este o tehnologie moderna in domeniul programarii calculatoarelor, care a rezultat din necesitatea realizarii de aplicatii din ce in ce mai complexe. Programarea clasica si structurata avea urmatoarele dezavantaje: control greoi al programelor de dimensiuni mari, dificultati cu privire la reutilizarea codurilor de programme si inflexibitatea adaptarii si extinderii unor module de program deja realizate. Programarea clasica structurata are la baza celebra ecuatie a lui Nikolaus Wirth:
Program = Structuri de date + Algoritmi
Programarea Orientata pe Obiecte, POO, se fundamenteaza pe conceptul de obiect, care este definit printr-o multime de date, numite proprietati, si o multime de proceduri sau functii de prelucrare a acestor date, numite metode. In consecinta, ecuatia POO este:
Obiect = Date + Functii
sau
Obiect = Date + functii
Obiect = Proprietati + Metode
Diferenta dintre cele doua cai de abordare ale programarii calculatoarelor consta in maniera de abordare a programarii. In timp ce programarea clasica structurata se concentreaza pe prelucrarea datelor, adica pe programme, proceduri si functii, POO se bazeaza pe definirea obiectelor, adica, pe proprietatile acestora, numite date, si pe functiile acestor obiecte, numite metode.
II.2. CLASE SI OBIECTE
La baza POO stau conceptele de clasa si obiect.
Dintr-un anumit punct de vedere, clasa poate fi privita ca o extensie a notiunii de structura din limbajul C, fiind constructia prin intremediul careia limbajul C++ permite definirea unor noi tipuri de date. Insa diferentele intre struct si union pe de o parte si class pe de alta parte sunt esentiale, ele referindu-se in special la drepturile de acces ale membrilor si la posibilitatea derivarii claselor.
Clasa, intr-un anumit limbaj de programare, reprezinta definirea unui tip de date abstracte sau concrete, adica descrierea roprietatilor, a datelor si a metodelor, a prelucrarilor, posibile asupra datelor. Clasa este, de fapt, o notiune abstracta, care defineste un anumit tip de obiecte, sau, altfel spus, o clasa reprezinta multimea posibila a mai multor obiecte de acelasi tip.
Obiect, reprezinta o multime de date care descrie un anumit obiect concret sau abstract, numite si proprietati, impreuna cu procedurile, functiile, de prelucrare a acestora, numite metode.
Crearea unui obiect presupune specificarea clasei din care face parte, astfel identificandu-se proprietatile obiectului si modului in care acestea pot fi folosite si prelucrate.
Crearea sau declararea unui obiect este similara cu crearea sau declararea unor variabile. Declararea unui variabile se face, dupa cum se stie, prin specificarea idenrificatorului acestuia, precedat de tipul variabilei iar declararea unui obiect presupune precizarea indentificatorului acestuia, precedat de clasa din care face parte, cala care in mod implicit determina proprietatile si metodele obiectului definit.
O clasa in limbajul C++ poate fi reprezentata ca o extindere a conceptului de structura, care, ca o structura, descrie un sablon pentru viitoarele declarari de variabile obiect.
Preview document
Conținut arhivă zip
- Proiect POO.doc