Sunteți pe pagina 1din 7

Programare Orientat pe Obiecte Lucrarea de laborator Nr. 1 Mediul de dezvoltare Developer Studio.

Elementele de baz ale unui proiect n C++. Programarea orientat pe obiecte este o metod de programare n care programele sunt organizate ca i colecii de obiecte cooperante, fiecare dintre ele reprezentnd o instan a unei clase, iar clasele sunt membre ale unei ierarhii de clase, corelate ntre ele prin relaii de motenire. Limbajul C++ este unul dintre cele mai utilizate limbaje de programare orientate pe obiecte; compilatoare, biblioteci i instrumente de dezvoltare a programelor C++ sunt disponibile att pentru calculatoarele personale ct i pentru cele mai dezvoltate sisteme i staii de lucru. n cadrul laboratorului de Programare Orientat pe Obiecte se va folosi mediul Microsoft Visual C++ 6.0 rulnd sub sistemul de operare Windows XP sau mediul Dev C++(soft free). n aceast lucrare de laborator, vei ncepe s nvai cteva dintre conceptele de baz ale limbajului C++ i vei crea un program simplu n mod consol. 1. Logarea pe staii Cele 18 staii de lucru din laborator sunt legate ntr-o reea local. Logarea pe fiecare staie se realizeaz astfel: Se apas Ctrl+Alt+Del; n caseta de dialog care apare se selecteaz pentru domeniu (Log on to:) EAII (C1, C2 ... C18 reprezint numele staiilor locale), pentru numele utilizatorului (User name) se introduce user_bdi (i reprezentnd numrul staiei de lucru ce aparine intervalului 1-18) iar parola (Password) este identic cu numele utilizatorului. Lucrrile de laborator sunt accesibile n format electronic pe staia C1 (accesare: My Computer, My Network Places, etc. sau prin intermediul instrumentului Windows Commander cu Shortcut pe Desktop reprezentat de icon-ul ce simbolizeaz o dischet n culorile albastru, rou, alb), n directorul Laborator_POO, sub form de fiiere cu extensia .pdf (de exemplu, LaboratorPOO1.pdf) i pot fi accesate ca atare sau copiate de ctre fiecare utilizator pe fiecare staie de lucru n subdirectorul Studenti (C:\POO\Studenti). Vizualizarea se face cu ajutorul instrumentului Adobe Acrobat (Shorcut-ul este disponibil pe Desktop). n subdirectorul Studenti putei crea propriile subdirectoare. Programele scrise folosind Visual C++ sunt compilate ceea ce nseamn c un fiier text denumit fiier surs este convertit ntr-un program de sine stttor care poate fi rulat n afara mediului Visual C++. Aproape toate sistemele de dezvoltare C++ compileaz programe executabile. Unele limbaje de programare, cum ar fi anumite versiuni de BASIC, creaz programe care pot rula numai n mediul de dezvoltare. Alte limbaje, cum ar fi Smalltalk, ruleaz n corelaie cu o bibliotec de rulare, care asist programul aflat n execuie. Dimpotriv, programele scrise folosind Visual C++, pot fi scrise i compilate ntr-un program executabil. Acel program poate fi apoi executat pe orice calculator care dispune de un sistem de operare Windows. n majoritatea sistemelor de dezvoltare C++, un program C++ parcurge mai multe etape pn la transformarea sa ntr-un program executabil: Se creaz unul sau mai multe fiiere surs, care conin textul unui program C++ (fiiere cu extensia .cpp).

Se compileaz programul folosind un compilator de C++. Aceast etap poate consta, de fapt, din mai multe comenzi de compilare a fiierelor surs n fiiere intermediare, cunoscute i sub numele de fiiere n cod obiect object code (fiiere cu extensia .obj). Fiierele n cod obiect sunt legate la un loc folosind un instrument denumit program de editare a legturilor linker. Acum se poate lansa programul executabil (fiier cu extensia .exe).

Cu ceva timp n urm, majoritatea sistemelor de dezvoltare pretindeau ca fiecare din aceste etape fie executat fie cu produse separate, din linia de comand, fie cu ajutorul unui instrument care determin fiierele care necesit actualizarea. Folosind instrumente moderne, precum Visual C++, alctuirea unui program este cu mult mai simpl. Mediul Visual C++ permite editarea, compilarea, executarea i depanarea unui program n interiorul aceluiai mediu. Toate etapele prezentate mai sus sunt supervizate de mediul de dezvoltare Visual C++ (ntlnit i sub acronimul IDE Integrated Development Environment, sau Developer Studio sau Visual Studio), ceea ce permite utilizatorului s se concentreze asupra scrierii programului, n loc de a da atenie unei mulimi de detalii. 2. Microsoft Visual C++ 6.0 Lansarea mediului Visual C++ se poate face accesnd Shortcut-ul de pe Desktop care este nsoit de icon-ul ce simbolizeaz semnul infinit n culorile rou, galben, verde i albastru (MSDEV Microsoft Developer Studio). La lansarea mediului Visual C++ este afiat fereastra Visual Studio. Visual Studio este numele dat interfeei cu utilizatorul a lui Visual C++ i va reprezenta suprafaa de lucru. Cnd se folosete Visual C++ pentru dezvoltarea unui program, majoritatea activitii este privit drept un proiect. Fiecare proiect stocheaz informaia necesar crerii unui program n C++. n funcie de tipul i de complexitatea programului, proiectul se poate reduce la cteva fiiere sau poate include sute de fiiere. Creai un proiect astfel: Selectai comanda New a meniului File pentru a crea un nou proiect; caseta de dialog New va fi afiat. Specificai tipul proiectului pe care l creai din pagina Projects a casetei de dialog New (din lista proiectelor posibile alegei Win32 Console Application). n caseta Project Name din caseta de dialog New specificai numele proiectului (indicaie: personalizai proiectele pe care le creai). Folosii caseta Location pentru a preciza directorul n care vor fi plasate fiierele proiectului (C:\POO\Studenti\.....). Calea afiat iniial n caseta Location depinde de opiunile exprimate la instalarea mediului Visual C++.Pentru a modifica aceast locaie, fie editai calea explicit, fie apsnd butonul aflat n partea dreapt a casetei Location urmrii ierarhia de directoare pn n subdirectorul dorit. Locaia implicit se bazeaz pe numele proiectului i este C:\Program Files\Microsoft Visual Studio\My Projects\numele proiectului. Dup stabilirea opiunilor din cadrul casetei de dialog New, apsarea butonului OK iniiaz generarea proiectului. n cazul unei aplicaii de tip Win32 Console Application, procesul de generare a proiectului conine un singur pas n care trebuie s alegei ce tip de aplicaie n mod consol vei crea. Alegei An empty project. La apsarea butonului Finish este afiat o caset de dialog care v informeaz despre crearea unui schelet de proiect vid, adic nu vor fi create sau/i adugate fiiere suplimentare la proiect. Este precizat de asemenea calea ctre directorul proiectului. n acest moment, putei vizualiza urmnd aceast cale fiierele create. nchidei mediul de dezvoltare.

3. Mediul Developer Studio Mediul de dezvoltare Developer Studio utilizat de Visual C++ pare destul de complex la prima vedere (peste 100 de opiuni de meniu i aproximativ tot attea butoane de pe bara de instrumente care pot fi selectate). Multe dintre acestea conduc la casete de dialog complexe i la pagini de proprieti care conin numeroase opiuni. Funcionalitatea att de bogat oferit de Developer Studio este justificat de faptul c acest mediu este utilizat pe scar larg pentru a produce aplicaii complexe, profesionale. n cadrul acestui laborator, vei nva o parte din ntreaga funcionalitate. Lansai din nou Visual C++. Deschidei proiectul creat anterior astfel: Din meniul File, selectai proiectul din cadrul listei Recent Workspaces. Pentru a deschide un proiect care nu figureaz n lista Recent Workspaces, selectai Open Workspace din meniul File. Pe ecran este afiat fereastra Open Workspace n care accesai directorul folosit pentru proiectul creat. Selectai din list fiierul care poart numele proiectului i extensia .dsw i alegei Open. Indiferent de metoda utilizat , proiectul ar trebui s fie acum deschis, cu titlul su afiat n bara de titlu a ferestrei Developer Studio. Mediul de lucru a reinut unde ai rmas i afiarea este identic cu cea de la nchiderea mediului de dezvoltare. Afiarea cuprinde trei ferestre: cea a spaiului de lucru al proiectului, cea pentru editare i cea de ieire. Fereastra spaiului de lucru al proiectului n partea stng, este o fereastr andocabil. Exist mai multe astfel de ferestre (fereastra Output n partea de jos este una dintre ele), unele aprnd n modul depanare. Pentru a comuta ntre modul liber i modul andocabil pentru o fereastr, efectuai un dublu click pe bara de titlu a ferestrei respective. Fereastra spaiului de lucru al proiectului poate fi nchis prin efectuarea unui click pe butonul de nchidere, aflat n colul dreapta sus. Redeschiderea ferestrei se realizeaz prin selectarea comenzii Workspace din meniul View. Toate ferestrele andocabile au comportamente similare. Fereastra spaiului de lucru al proiectului permite vizualizarea acestuia din mai multe perspective. Dup ce ai deschis proiectul, in partea inferioar a spaiului de lucru, sunt disponibile dou pagini: ClassView i FileView. Paginile din partea inferioar a ferestrei mpart proiectul n componente logice. Efectuai click pe o pagin pentru a vizualiza reprezentarea corespunztoare. Fiecare reprezentare afieaz o structur arborescent de elemente care reprezint componente ale proiectului. Putei s expandai sau s condensai elementele arborelui efectund click pe simbolul plus (+) sau minus (-) alturat n partea stng a acestora. Pentru c ai creat o aplicaie n mod consol ca un proiect gol nici un fiier nu exist n acest moment n proiect i nu poate fi vizualizat. Exerciiul 1. Creai alte tipuri de proiecte pentru aplicaii n mod consol i vizualizai fiierele create de ctre mediul de dezvoltare. Despre pagina ClassView vom discuta la momentul oportun. Pentru tipurile de proiecte create analizai coninutul paginii FileView. Este afiat o list cu o parte din fiierele incluse n proiect. Fiierele sunt organizate pe cataloage n funcie de tipul acestora (cataloagele nu reprezint locaia fiierelor pe hard disk). Efectuarea unui dublu click pe numele unui fiier deschide fiierul n fereastra din dreapta, fereastra de editare. Facei o comparaie ntre aceast list i coninutul directorului proiectului n care vei vedea alte cteva tipuri de fiiere. Unele dintre acestea sunt fiiere temporare folosite de ctre Developer Studio; altele depind de tipul proiectului i de coninutul su. n pagina File View se pot aduga fiiere proiectului sau se pot nltura fiiere din proiect prin selectarea numelui fiierului i apsarea tastei Delete. Aceasta duce doar la nlturarea fiierului din proiectul Visual Studio fr a terge efectiv fiierul de pe disc.

4. Crearea unui fiier surs n C++ Cea mai important component a oricrui program n C++ o reprezint fiierele surs. Pentru simplitate, vai lucra la nceput cu programe care conin un singur fiier surs. Dei programul model prezentat n listingul urmtor este foarte scurt, conine o bun parte dintre elementele existente n toate programele C++:
# include <iostream.h> int main() { cout<<Hello, World!<<endl; return 0; }

Revenii la primul proiect creat. O modalitate de a deschide un fiier surs nou n vederea editrii este urmtoarea: selectai File, apoi New din meniul principal. Din pagina Files a casetei de dialog New care este afiat alegei opiunea C++ Source File, dai un nume noului fiier (poate fi acelai ca al proiectului). Observai c, implicit este setat opiunea de adugare a noului fiier proiectului curent. n fereastra de editare se deschide noul fiier. Adugai codul de mai sus. Compilai fiierul surs (Build Compile nume_fiier.cpp). Legai proiectul (Build Build nume_proiect.exe). Proiectul poate fi alctuit i prin selectarea direct a comenzii Build nume_proiect.exe, compilarea realizndu-se implicit. n fereastra de jos vor apare informaii privind compilarea fiierelor i legarea proiectului. Dac ai introdus corect coninutul listingului proiectul va fi creat fr erori i fr avertizri. Exerciiul 2. Intenionat stergei din codul programului ghilimele sau punct i virgul sau paranteze. Compilai de fiecare dat i urmrii erorile i mesajele de avertizare. Un dublu click pe prima linie a unui mesaj de eroare poziioneaz cursorul n fereastra de editare n dreptul liniei unde compilatorul consider c se afl eroarea. Pot apare erori ca urmare a altor erori aa nct se corecteaz prima eroare i apoi se recompileaz s.a.m.d. Dup compilarea i legarea fr erori a proiectului, putei rula programul selectnd Build Execute nume_proiect.exe din meniu. 5. Elementele de baz ale unui proiect n C++ Programul creat are multe n comun cu programe C++ de dimensiuni mult mai mari: Prima linie din program este un mesaj ctre compilator de a include i un alt fiier la compilarea fiierului creat. Instruciunea #include cere compilatorului s caute fiierul iostream.h i s-l introduc n fiierul surs. Urmtoarea linie reprezint nceputul funciei principale (main). Toate programele n C++ constau dintr-una sau din mai multe funcii. Funcia denumit main este locul n care ncepe execiia programului, motiv pentru care toate programele n C++ trebuie s aib o funcie denumit main. Funcia returneaz (return) o valoare ntreag (int) sistemului de operare la ncheierea executrii. Funcia nu accept parametrii. Sistemul de operare folosete valoarea returnat de funcia main pentru a afla dac programul a fost executat cu succes. Este posibil returnarea ctre sistemul de operare a unor valori care indic reuit sau eec. Exerciiul 3. Pentru celelalte tipuri de proiecte pe care le-ai creat identificai funcia main deja creat de ctre mediul de dezvoltare.

Urmtoarele 4 linii de dup int main() reprezint corpul funciei main, cunoscut i sub numele de bloc instruciune, ncadrat ntotdeauna ntre o pereche de acolade. n interiorul funciei main se afl o singur instruciune (care se ncheie cu ; ca toate instruciunile din C++) care afieaz la consol o linie de caractere folosind obiectul cout din iostream. Folosind biblioteca iostream, se simplific operaiile de intrare/ieire pentru programul n mod consol. Biblioteca iostream folosete simbolul << pentru ieiri i >> pentru intrri din, respectiv n fluxul de date (secven de octei, fiier pe disc, datele de ieire pentru imprimant sau pentru ecrane mod caracter, etc). O regul simpl este aceea c atunci cnd ntlnii simbolul <<, valoarea de la dreapta simbolului va fi ieirea pentru obiectul IO din stnga iar cnd ntlnii simbolul >>, datele din obiectul IO din stnga sunt stocate ntr-o variabil din dreapta. cout nseamn console output (ieire la consol) iar << poate fi tradus prin pune la.

Ca o ultim observaie, cnd utilizai C++, nu uitai c deosebirea dintre literele mari i mici este important, dar spaiile libere, cum ar fi numrul de spaii dinaintea cuvntului cout, nu sunt importante din punctul de vedere al compilatorului. Editorul ordoneaz automat codul surs i ofer faciliti de highlight pentru o deosebire uoar a cuvintelor cheie ale limbajului de restul codului. Endl (end line) indic sfrit de linie, astfel c, dup afiarea mesajului, cursorul trece la linie nou. Exerciiul 4. Afiai la consol mai multe mesaje pe aceeai linie, apoi pe linii diferite.

Dev C++
Dev C++ este un mediu integrat de dezvoltare pentru limbajul de programare C/C++. Acesta foloseste softul de tip port Mingw din GCC pe post de compilator. Poate crea executabile Win32, DLL-uri sau librarii statice. Dev C++ poate fi folosit i n combinaie cu Cygwin sau orice alt compilator bazat pe GCC(GNU Compilar Collection); soft-ul este free. Principalele caracteristici ale programului sunt urmtoarele: Suport pentru compilatoarele bazate pe GCC(Mingw este inclus). Debugging integrat(cu GDB). Browser pentru clase. Browser pentru operaii de debug(monitorizare a variabilelor). Completarea de cod aceasta este o operaie de ajutorare a programatorului n sensul c ofer asistare n timp real n momentul scrierii codului. Listarea funciilor. Managementul proiectului. Editor personalizabil. Poate crea rapid executabile windows, librarii statice i DLL. Suport pentru templates se ofer posibilitatea construirii unor proiecte de un anumit tip. Crearea de fiiere. Editare i compilare a fiierelor surs. Tool Manager. Suport pentru printare. Faciliti de tip find & replace. Manager de pachete pentru adugarea facil a librriilor.

Crearea unui proiect


Un proiect reprezint un centru de administrare a diverselor fiiere surs i a opiunilor disponibile n Dev C++. Este recomandabil ca atunci cnd exist mai multe fiiere surs s se creeze un proiect pentru ca Dev C++ s lege toate aceste fiiere dup ce au fost compilate. De asemenea acesta se creaz n momentul n care programatorul dorete alctuirea unor biblioteci statice sau DLL. Pentru a crea un proiect se intr n meniul File i se alege New apoi Project. Va apare o fereastra de dialog cu mai multe tipuri de proiecte disponibile: aplicaii Windows se creaz un program Windows folosind interfaa Win32API, aplicaii de tip consol, librarii statice se construiete un proiect gol cu toate opiunile necesare construirii unei librrii statice, DLL creaz Win32 Dynamic Link Library. Dac programatorul dorete adugarea de noi fiiere n proiect se alege opiunea Add Project din meniul Project. Pentru scoaterea acestora din proiect se alege opinuea Remove from Project din acelai meniu sau se ndeprteaz din Project Manager. Cu ajutorul opiunii Project Option sunt puse la dispoziie utilizatorului mai multe pagini de configurare a proiectului. Prezentm n continuare cteva opiuni mai importante: General: aici se poate modifica numele proiectului; se poate asigna o iconi programului; se poate alege tipul proiectului. Files: din aceast fereastr se pot modifica comenzile de compilare i opiunile pentru fiecare fiier. Astfel, Build priority - permite programatorului s modifice ordinea de compilare a fiierelor surs; Include in compilation dac nu este setat aceast opiune

fiierul respectiv nu va fi compilat; Include in linking adaug fiierul object generat la linkare; Compile file as C++ - aceast opiune trebuie bifat n cazul n care avem un fiier surs de tip C++. Alte opiuni sunt Compiler(se ofer posibilitatea utilizatorului s aleag compilatoarele pentru C i C++), Parameter(aici se pot scrie argumente n linia de comand pentru operaiile de compilare i linkare), Director(n aceast fereastr se pot aduga biblioteci noi proiectului), Build Options(aceast fereastr permite setarea cii unde se va crea fiierul executabil precum i fiierul de tip object), Makefile i Version info.

Compilarea, operaia de legare(linking) i rularea se fac simplu se tasteaz F9; dac utilizatorul dorete doar s compileze programul fr s l ruleze poate tasta CTRL + F9, iar pentru rulare CTRL + F10. Exerciiul 5. Executai programul anterior n mediul de programare Dev C++. tergei intenionat din codul programului ghilimele, punct i virgul sau paranteze. Compilai de fiecare dat i urmrii erorile i mesajele de avertizare. Similar ca la exerciiul 2 tastai dublu click pe mesajele de eroare i de avertizare. Corectai si recompilai. Operaia de debug presupune o rulare monitorizat a unui program astfel, execuia programului poate fi efectuat i monitorizat pas cu pas; debugger-ul poate opri execuia la un moment dat cu ajutorul punctelor de oprire (breakpoints). Rularea programului n modul debug se face tastnd F8. nainte s tastai F8 setai un breakpoint pe prima linie din interiorul funciei main sau pe poriunea de cod pe care o dorii a fi monitorizat. Dup setarea acestuia apsai F8. Execuia se va face pn n acel punct dup care se continu n modul pas cu pas. Un alt mod de urmrire se poate face cu opiunea Run to Cursor (SHIFT+F4) acest mod de execuie urmrete programul pas cu pas de pe poziia curent a cursorului n program. Exerciiul 6. Intrai n modul debug i urmrii desfurarea programului. Exerciiul 7. Declarai i iniializai dou variabile de tip ntreg. n browser-ul dedicat operaiei de debug(n partea stang a editorului) tastai click dreapta + Add Watch sau F4. Introducei aici pe rnd cele dou variabile. Aceast operaie se face n modul debug; urmrii variabilele pe msur ce l parcurgei.

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