c++

Upload: eugen1968

Post on 12-Jul-2015

469 views

Category:

Documents


1 download

TRANSCRIPT

Programarea calculatoarelor II (C++)

Dorel Lucanu

Dorel Lucanu

Programarea calculatoarelor (C++)

1

Bibliografie

! Liviu Negrescu : Limbajele C si C++ pentru incepatori, vol II, III, Microinformatica, ClujNapoca ! H. Schildt: C++ manual complet, Teora, 2000 ! D. Kaler, M.J. Tobler, J. Valter: C++, Teora, 2000 ! Bjarne Stroustrup: The C++ Programming Language, Adisson-Wesley, 3nd edition, 1997 ! Stanley B. Lippman: C++ Primer, Addison Wesley, 1992 Manuale electronice ! Peter Mller : Introduction to Object-Oriented Programming Using C++ ! Bruce Eckel : Thinking in C++, 2nd Edition ! *** : Online C++ tutorial

Dorel Lucanu

Programarea calculatoarelor (C++)

2

Curs 1 ! Incapsulare si ascundere "Clase si obiecte, clase atribute, metode, stari declararea claselor si obiectelor in C++ utilizarea obiectelor in C++ constructori, destructori exemplul Contor: .h, .cpp, demo "Tipuri abstracte de data si obiecte Exemplul Stiva: .h, .cpp, demo "Utilizare de clase: string.h, string.cpp

Dorel Lucanu

Programarea calculatoarelor (C++)

3

Obiecte si clase! O prima definitie pentru obiecte si clase: " Un obiect este caracterizat de: nume atribute o multime de stari metode (servicii) " O clasa descrie unul sau mai multe obiecte ce pot fi precizate printr-un set uniform de atribute si metode. ! Reprezentarea grafica

nume atribute metode

Dorel Lucanu

Programarea calculatoarelor (C++)

4

Clasa Contor Un contor are o valoare curenta si o valoare de resetare, si poate fi incrementat, decrementat, resetat, si pot fi citite valorile curenta si de resetare

Contorval : int reset_val : int

get_val() get_reset_val() increment() decrement() reset()

Dorel Lucanu

Programarea calculatoarelor (C++)

5

Incapsulare si ascundere! Incapsulare: datele si operatiile asupra lor sint incluse in aceeasi unitate sintactica (clasa)

Contor val increment( ) val increment( )

!Ascunderea informatiei modul de structurare a datelor nu este cunoscut actiunile asupra datelor sint realizate numai prin operatiile (metodele) clasei si anumite actiuni pot fi ascunse

C.val++ C.increment() OK!

Dorel Lucanu

Programarea calculatoarelor (C++)

6

Contor.hclass Contor { public: // Constructori/destructori Contor(); ~Contor(); // metode int get_val(); int get_reset_val(); void increment(); void decrement(); void reset() { val = val_reset; } private: // atribute int val; int val_reset; };

Dorel Lucanu

Programarea calculatoarelor (C++)

7

Contor.cpp#include "contor.h" Contor::Contor() { val = 0; val_reset = 0; } void Contor::increment() { val++; } void Contor::decrement() { val--; }

Contor_demo.cppContor intcount; intcount.increment(); cout "; cin >> s;

Dorel Lucanu

Programarea calculatoarelor (C++)

17

De la C la C++ (0)! fisiere intrare/iesire // varianta 1 (nu prea OK) char c; ifstream f_inp("c2cpp10.cpp"); ofstream f_out("c2cpp10.cp1"); if (f_out && f_inp) while (f_inp >> c) f_out