De ce C++? Este un atat un limbaj de nivel inalt (utilizat pt crearea aplicatiilor software) cat si un limbaj de nivel scazut (actioneaza la nivel de componente hardware) Este portabil (programele in acest limbaj ruleaza pe orice sistem de operare) Este flexibil (programatorul isi poate crea propriile biblioteci si functii si chiar proprii operatori) Este orientat obiect (separa interfata de datele aplicatiei si faciliteaza programarea vizuala) Programele sunt modulare (se pot descompune in module functionale independente care sa actioneze impreuna intr-un program unitar) Este utilizat atat in programarea aplicatiilor multimedia si de comunicatii, cat si in comanda robotilor industriali) Sta la baza limbajelor C# si Java Istoric 1979 – limbajul C 1983 – C cu clase devine C++ 1985 - prima versiune comerciala 1998 – primul standard ISO pt C++ 2003 – al doilea standard ISO pt C++ C++0x in elaborare Structura unui program in C++ Directive preprocesor Definitii de clase de baza Definitii de clase derivate Declaratii de functii membre ale claselor anterioare Declaratii de variabile globale Functia principala a programului Declaratii de functii nemembre ale claselor anterioare Un program simplu… #include <iostream.h> void main ( ) { cout<<“Succes la examen!”;} Operatori ai limbajului C++ 1. Operatori aritmetici +, - , * , / , % 7/5=1; 7%5=2; 7*5=35; 2. Operatori relationali > , <, <=, >=, ==, != 2==3 (rezultatul acestei expresii este 0 adica FALS) 2!=3 (rezultatul acestei expresii este 1 adica ADEVARAT) Operatori ai limbajului C++ 3. Operatori logici: II, &&, I, &, ^, ! 1II0=1;1&&0=0; !0=1; 1^0=1; 1^1=0; 11 I 10=11; 11 & 10=10 4. Operatori de atribuire =, +=, -=, *=, /=, %= a=2; a+=5 =>a=7; b=15; b%=5 => b=0 Operatori ai limbajului C++ 5. Operatori de incrementare/decrementare ++, - - a=10, b=11, c=12 ++a-b=0; (a++)-b= -1; a=11, b=11 - - c+b= 22; (c - -)+b= 23; c=11, b=11 Operatori ai limbajului C++ 6. Operatori de deplasare pe biti >>, << 1110<<2=1000; 1111>>2=0011 7. Operatorul conditional ? : (a>b)? max=a : max=b Operatori ai limbajului C++ 8. Operatori de adresare *, &, new, delete *p – p este pointer (adresa de memorie) &a – a este continutul unei adrese de memorie 9. Operatorul de rezolutie : : Concluzii Limbajul C++ are multe avantaje, principalele dezavantaje fiind insa varietatea operatorilor si utilizarea pointerilor Invatarea unui limbaj de programare incepe cu invatarea operatorilor si a vocabularului limbajului