Limbajul de programare C++

Publicat: 27 Mar 2010 00:00

C++ este un limbaj de programare cu scop universal.El contine facilitati flexibile si eficiente pentru a definii tipuri noi. Programatorul poate partitiona o aplicatie in bucati manevrabile prin definiri de tipuri noi, care corespund mai bine la conceptele aplicatiei. Aceasta tehnica de construire a programului se numeste adesea abstractizare de date. Obiectele unui anumit tip definit de utilizator contin informatie de tip. Astfel de obiecte pot fi folosite convenabil in contextul in care tipul lor poate fi determinat in momentul compilarii. Programele utilizind obiecte de astfel de tipuri se numesc adesea bazate pe obiecte. Cind se utilizeaza bine, aceste tehnici conduc la programe mai scurte, mai usor de inteles si mai usor de a le menine.

Conceptul cheie din C++ este clasa. O clasa este un tip utilizator. Clasele furnizeaza ascunderea datelor, garantarea initializarii datelor, conversii de tip implicite pentru tipuri de date utilizator, tipuri dinamice, gestionarea memoriei controlate de utilizator si mecanismul de supraincarcare a operatorilor. C++ furnizeaza facilitati mai bune pentru verificarea tipului si pentru exprimarea modularitatii, decit o face limbajul C.
De asemenea contine imbunatatiri care sint direct inrudite cu clasele, incluzind constantele simbolice, substitutia in linie a functiilor, argumente implicite ale functiilor care se supraincarca, operatori de gestionare a memoriei libere si un tip referinta.

Capitolul 1 este o trecere in revista rapida a caracteristicilor majore ale lui C++. La inceput sint caracteristici comune cu C. Cea de-a doua jumatate descrie facilitatile lui C++ pentru
a definii tipuri noi.

Capitolele 2, 3 si 4 descriu caracteristicile lui C++ care nu sint implicate in definirea de tipuri noi. Deci se descrie subsetul lui C++ care este in esenta C. Informatia completa se da in manualul de referinta.

Capitolele 5, 6, 7 descriu facilitatile lui C++ pentru a definii tipuri noi, trasaturi care nu fac parte din C. Capitolul 5 prezinta conceptul de clasa, aratind cum obiectele de tip utilizator, pot fi initializate, accesate si in final eliminate.
Capitolul 6 explica cum se pot definii operatorii unari si binari pentru un tip definit de utilizator, cum se pot face conversatii intre tipurile definite de utilizator si cum se specifica modul de creare, stergere si copiere a unei valori a unui tip definit de utilizator.

Capitolul 7 descrie conceptul de clasa derivata, care permite programatorului sa construiasca clase mai complexe din unele mai simple, pentru a furniza interfete alternative pentru o clasa si a minui obiecte intr-o maniera eficienta si in deplina protectie, in contextul in care tipurile lor nu pot fi cunoscute la compilare.

Capitolul 8 prezinta clasele ostream si istream furnizate pentru intrari si iesiri din biblioteca standard. Acest capitol prezinta o facilitate care este un exemplu real de utilizare a lui C++.

In final este inclus manualul de referinta C++.

Trimiterile se descriu astfel:
&2.3.4 -> capitolul 2, sectiunea 3.4;
&r8.5.5 -> trimitere in partea de referinta.
Exercitiile sint gradate astfel:
(*1) - exercitiul necesita 5 minute;
(*2) - exercitiul necesita o ora;
(*3) - exercitiul necesita o zi.

C++ nu are tipuri de date de nivel inalt si nici operatii primitive de nivel inalt. De exemplu, nu exista tipul matrice cu un operator de inversare sau tipul sir cu operatorul de concatenare. Daca un utilizator doreste un astfel de tip, el poate fi definit. Defapt, definirea unui tip nou cu scopuri generale sau specific aplicative este scopul cel mai important al limbajului C++. Un tip definit de utilizator difera de unul predefinit numai in modul de definire si nu si in modul in care este utilizat.

C++ a aparut in vara anului 1983 (C cu clase). Incercari au fost facute inca din 1980. C++ inseamna C incrementat. C++ are ca scop principal scrierea de programe bune mai usor si mai placut pentru programatorul individual.
O sursa de inspiratie a fost Simula 67; conceptul de clasa a fost imprumutat de aici.
C si ANSI C sint foarte apropiate pentru a fi un subset a lui C++. C++ a fost dezvoltat din C si cu foarte mici exceptii C ramine un subset a lui C++.
Un limbaj de programare serveste la doua scopuri inrudite: el furnizeaza un mijloc pentru programator de a specifica actiuni de executat si un set de concepte pentru programator care sa fie utilizate cind se gindeste in legatura cu ceea ce poate fi facut.

Primul aspect in mod ideal cere un limbaj ce este "strins legat de masina" asa incit toate aspectele unei masini sa fie manevrate simplu si eficient intr-un mod care sa fie rezonabil de clar pentru programator. Limbajul C initial a fost proiectat avind acest lucru in minte.

Cel de al doilea aspect in mod ideal cere un limbaj care este "strins legat de problema de rezolvat", asa ca, conceptele unei solutii sa poata fi exprimate direct si concis. Facilitatile adaugate la C pentru a crea C++ initial au fost proiectate avind acest lucru in minte.

Legatura dintre limbajul in care noi gindim programul si dintre cel in care ne imaginam problemele si solutiile este foarte strinsa. Din acest motiv, restringerea caracteristicilor cu scopul de a elimina erorile programatorului este cel mai periculos. Tot asa cu limbajele naturale, exista un beneficiu mare din faptul ca sint cel putin bilingve. Limbajul furnizeaza programatorului un set de instrumente conceptuale: daca acestea sint inadecvate pentru un task, ele pur si simplu vor fi ignorate. De exemplu, restringind serios conceptul de pointer, pur si simplu se forteaza programatorul ca sa utilizeze un vector plus aritmetica intreaga pentru a implementa structuri, pointeri, etc.

Un proiect bun si absenta erorilor nu poate fi garantata numai prin caracteristicile limbajului. Sistemul tipurilor ar trebui sa fie in special util pentru task-uri netriviale.

Trebuie sa citesti

Despre mecanici auto si ateliere de reparatii
Despre mecanici auto si ateliere de reparatii

Sunt foarte puțini mecanici auto de încredere pe piață. Sunt foarte puțini mecanici auto în general, care sunt bombardați de o mulțime de clienți cu lucrări de reparații din care toți își doresc să fie ei o prioritate,

Gadgeturile studentului modern
Gadgeturile studentului modern

Cat de mult s-a schimbat viata intr-un campus in ultimii 20-25 de ani? Cel mai probabil, nu foarte mult la capitolul distractie, interactiuni sociale si provocari pe linie materiala, dar cu siguranta sunt schimbari radicale in ceea ce priveste modul in care tehnologia isi face simtita prezenta in

Cum sa ajuti copilul sa invete cu placere - Trucuri eficiente
Cum sa ajuti copilul sa invete cu placere - Trucuri eficiente

Fiecare parinte se loveste de aceasta problema: cum sa imi ajut copilul sa invete mai bine, cum sa il determin sa ia note bune la scoala si cum sa il fac sa inteleaga ca educatia este cea mai importanta pentru el. In primul rand, trebuie sa stii ca este foarte important ca tu, ca parinte, sa te

Ce este o pergola
Ce este o pergola

Zilele cu prea mult soare pot fi un adevărat chin dacă nu încercăm să ne protejăm corpul de razele ultraviolete. In ajutorul nostru sar pergolele, care reprezintă de mult timp un centru de greutate in arhitectura grădinilor. Pergolele sunt structuri

Top 5 lucruri pentru a te mentine la greutatea ideala
Top 5 lucruri pentru a te mentine la greutatea ideala

Te uiți în oglindă și ai impresia că te rotunjești? Vestea bună, dacă o putem numi așa, este că nu ești o excepție. Conform statisticilor , 21,8% dintre tinerii români cu vârsta între 18 și 24 de ani sunt

Teste Online

Test - Recursivitate II

Test de evaluare sumativa- recursivitate

mai multe »
Link-uri recomandate: design interior | nikydecor.ro | designer interior cluj | mobilier dormitor preturi | modern interior design
Acest site foloseste Cookie-uri.
Folosim cookie-uri pentru a personaliza continutul si reclamele, pentru a oferi caracteristici specifice retelelor sociale si pentru a analiza traficul nostru. De asemenea, impartasim informatii despre felul in care ne utilizati site-ul, cu partenerii nostri de pe retelele sociale, de publicitate si de statistica in conformitate cu Politica de confidentialitate. Va puteti administra preferintele in Setari cookie.