C++

Curs
9/10 (8 voturi)
Domeniu: Automatică
Conține 17 fișiere: doc
Pagini : 145 în total
Cuvinte : 38385
Mărime: 289.59KB (arhivat)
Cost: Gratis
Profesor îndrumător / Prezentat Profesorului: Bereanu

Cuprins

CUPRINS

Introducere 1

L1: Limbajul de programare C++ şi OOP. Caracteristici 2

L2: Clase C++. Declarare. Implementare. Instanţieri.

Utilitatea operatorului “::” 11

L3: Crearea, iniţializarea şi distrugerea obiectelor unei clase 24

L4: Membrii de tip static într-o clasă 42

L5: Manevrarea dinamică a obiectelor unei clase. Funcţii prietene

(friend). Clase friend 57

L6: Clase imbricate. Obiecte şi funcţii 67

L7: Moştenire. Clase de bază. Clase derivate 76

L8: Constructori şi destructori în procesul de derivare 88

L9: Funcţii virtuale. Clase abstracte 95

L10: Supraîncărcarea funcţiilor şi operatorilor 106

L11: Supraîncărcarea operatorilor cu funcţii friend 115

L12: Supraîncărcarea unor operatori speciali 129

L13: Biblioteca IOSTREAM. Manipulatori 138

L14: Operaţii de intrare / ieşire cu fişiere în C++ 145

Bibliografie

Extras din document

INTRODUCERE

Limbajele de programare oferă utilizatorului posibilitatea de a folosi, în programare, date de tipuri diferite (tipuri predefinite) cu dimensiuni variate. Astfel de tipuri au predefinite atât reprezentarea datelor cât şi operaţiile care se pot efectua asupra lor.

În programare, pentru a simplifica utilizarea conceptelor care nu corespund direct tipurilor predefinite din limbajul considerat, s-a ajuns la ideea introducerii tipurilor de date definite de utilizator. Totuşi, există mari diferenţe între tipurile predefinite şi tipurile utilizator. Tipul definit de utilizator, de exemplu struct, defineşte doar reprezentarea datelor din tipul respectiv, iar utilizatorul trebuie să definească funcţii pentru diferite operaţii care se pot efectua cu astfel de date. De aceea, în evoluţia limbajelor de programare, se are în vedere o cât mai mare apropiere în ceea ce priveşte modul de comportare al celor două categorii de tipuri de date, prin:

1. stabilirea unei legături dintre reprezentarea datelor şi operaţiile ce se pot efectua cu ele;

2. posibilitatea indicării operaţiilor cu date tip utilizator cu ajutorul operatorilor;

3. posibilitatea realizării de conversii de la tipuri predefinite la tipuri utilizator şi invers, precum şi între diverse tipuri definite de utilizator (implicit / explicit);

4. realizarea iniţializării datelor de tip utilizator în momentul declarării lor.

Ideea legăturii între reprezentarea datelor de tip utilizator şi operaţiile admise a se efectua cu ele se poate finaliza cu:

a) includerea funcţiilor care definesc astfel de operaţii în tipul respectiv (un struct extins);

b) protejarea accesului la date.

Având în vedere punctul (b), locul lui struct va fi luat de class.

Într-o clasă, reprezentarea datelor constituie partea de implementare a tipului respectiv, iar setul de operaţii admis, reprezintă interfaţa programului cu acel tip.

În general, partea de implementare a unei clase trebuie să fie protejată, iar partea de interfaţă să fie publică.

Tipurile definite cu ajutorul claselor se mai numesc şi tipuri abstracte de date, iar datele de tip abstract se numesc obiecte. Obiectele de acelaşi tip abstract se numesc instanţieri ale clasei ce defineşte acel tip.

Termenul de abstractizare a datelor se referă la procesul de definire a tipurilor abstracte de date, iar cel de programare orientată pe obiecte (OOP) implică definirea de tipuri abstracte de date. Moştenirea şi polimorfismul, elemente caracteristice unei astfel de programări, se referă la mijloacele de care se beneficiază în ceea ce priveşte caracteristicele comune ale tipurilor abstracte de date.

Trebuie reţinut faptul că OOP constituie o metodă de proiectare şi implementare a programelor.

Tehnica OOP oferă:

- posibilitatea modularităţii obiectelor şi implementării programului în unităţi relativ independente care să fie uşor de întreţinut şi dezvoltat;

- partajarea codului între obiecte folosind moştenirea.

Astfel de tehnici OOP sunt mai uşor implementate apelând la un limbaj de programare. Un astfel de limbaj este şi limbajul C++ prezentat în această lucrare. Aplicaţiile au fost executate în Borland C++ 4.52.

Prezenta lucrare se adresează tuturor celor care doresc să folosească programarea orientată pe obiecte în activitatea lor de programare, beneficiind de tehnicile oferite de aceasta.

Autorul

LIMBAJUL DE PROGRAMARE C++ ŞI OOP.

CARACTERISTICI

- C++ este un limbaj de programare orientată pe obiecte. Acest limbaj constituie o versiune îmbogăţită a limbajului de programare C (o extensie sau un superset al lui C). Până în 1983 el se mai numea „C cu clase“.

- Să precizăm câteva din elementele specifice lui C++. Ele constau în extensii ale lui C cu privire la:

a) limbaj:

1. pentru o parcurgere facilă a codului sursă, se foloseşte un nou mod de prezentare a comentariilor;

2. se utilizează tipurile referinţă, care simplifică, din punct de vedere sintactic, transmiterea parametrilor prin referinţă;

3. se foloseşte supraîncărcarea operatorilor, cu scopul de a permite, în C++, să acţioneze asupra tipurilor abstracte de date definite de utilizator;

4. se foloseşte supraîncărcarea funcţiilor, care permite utilizarea mai multor funcţii cu acelaşi identificator, dar cu acţiuni diferite;

5. se utilizează funcţiile cu parametri impliciţi.

b) o tratare la nivel superior a tipurilor de date definite de utilizator ce constă în:

1. folosirea prototipurilor funcţiilor, care permit o bună verificare a tipurilor parametrilor, la apelul lor;

2. folosirea operatorilor de alocare dinamică a memoriei, care dau o precizie mai mare, în această operaţie;

3. verificarea transferului de parametri, printr-un control al tipurilor, la editarea de legături;

4. o nouă interfaţă intrare/ieşire (I/O), care dă o mai mare flexibilitate, a operaţiilor de citire / scriere;

5. existenţa unor rutine care permit conversia tipurilor definite de utilizator.

c) programarea orientată pe obiect (OOP) reflectată prin:

1. gruparea de date şi operaţii într-un acelaşi tip de date numit clasă;

2. un acces selectiv la elementele interne ale unei clase;

3. reutilizarea sau moştenirea unor clase prin clase derivate;

4. utilizarea funcţiilor virtuale, care dau un mijloc mai puternic de apelare al funcţiilor, în timpul execuţiei programului şi nu în timpul compilării lui;

5. utilizarea funcţiilor friend, care permit accesul din exteriorul unei clase, la elemente protejate din acea clasă;

6. utilizarea unor funcţii speciale într-o clasă numite constructori respectiv destructori, necesare pentru a iniţializa, respectiv a distruge, obiecte ale acelei clase.

- Necesitatea introducerii lui C++ se datorează şi creşterii complexităţii programelor (trecând de 25000 de linii de cod, un control în C devine anevoios). De la apariţie, C++ a trecut printr-o serie de revizuiri (1985, 1989, iar în 1994 se obţine standardul ANSI C++).

- C++ fiind un superset al lui C, permite compilarea unor programe ANSI C cu un compilator C++, luând în considerare unele aspecte specifice.

Preview document

C++ - Pagina 1
C++ - Pagina 2
C++ - Pagina 3
C++ - Pagina 4
C++ - Pagina 5
C++ - Pagina 6
C++ - Pagina 7
C++ - Pagina 8
C++ - Pagina 9
C++ - Pagina 10
C++ - Pagina 11
C++ - Pagina 12
C++ - Pagina 13
C++ - Pagina 14
C++ - Pagina 15
C++ - Pagina 16
C++ - Pagina 17
C++ - Pagina 18
C++ - Pagina 19
C++ - Pagina 20
C++ - Pagina 21
C++ - Pagina 22
C++ - Pagina 23
C++ - Pagina 24
C++ - Pagina 25
C++ - Pagina 26
C++ - Pagina 27
C++ - Pagina 28
C++ - Pagina 29
C++ - Pagina 30
C++ - Pagina 31
C++ - Pagina 32
C++ - Pagina 33
C++ - Pagina 34
C++ - Pagina 35
C++ - Pagina 36
C++ - Pagina 37
C++ - Pagina 38
C++ - Pagina 39
C++ - Pagina 40
C++ - Pagina 41
C++ - Pagina 42
C++ - Pagina 43
C++ - Pagina 44
C++ - Pagina 45
C++ - Pagina 46
C++ - Pagina 47
C++ - Pagina 48
C++ - Pagina 49
C++ - Pagina 50
C++ - Pagina 51
C++ - Pagina 52
C++ - Pagina 53
C++ - Pagina 54
C++ - Pagina 55
C++ - Pagina 56
C++ - Pagina 57
C++ - Pagina 58
C++ - Pagina 59
C++ - Pagina 60
C++ - Pagina 61
C++ - Pagina 62
C++ - Pagina 63
C++ - Pagina 64
C++ - Pagina 65
C++ - Pagina 66
C++ - Pagina 67
C++ - Pagina 68
C++ - Pagina 69
C++ - Pagina 70
C++ - Pagina 71
C++ - Pagina 72
C++ - Pagina 73
C++ - Pagina 74
C++ - Pagina 75
C++ - Pagina 76
C++ - Pagina 77
C++ - Pagina 78
C++ - Pagina 79
C++ - Pagina 80
C++ - Pagina 81
C++ - Pagina 82
C++ - Pagina 83
C++ - Pagina 84
C++ - Pagina 85
C++ - Pagina 86
C++ - Pagina 87
C++ - Pagina 88
C++ - Pagina 89
C++ - Pagina 90
C++ - Pagina 91
C++ - Pagina 92
C++ - Pagina 93
C++ - Pagina 94
C++ - Pagina 95
C++ - Pagina 96
C++ - Pagina 97
C++ - Pagina 98
C++ - Pagina 99
C++ - Pagina 100
C++ - Pagina 101
C++ - Pagina 102
C++ - Pagina 103
C++ - Pagina 104
C++ - Pagina 105
C++ - Pagina 106
C++ - Pagina 107
C++ - Pagina 108
C++ - Pagina 109
C++ - Pagina 110
C++ - Pagina 111
C++ - Pagina 112
C++ - Pagina 113
C++ - Pagina 114
C++ - Pagina 115
C++ - Pagina 116
C++ - Pagina 117
C++ - Pagina 118
C++ - Pagina 119
C++ - Pagina 120
C++ - Pagina 121
C++ - Pagina 122
C++ - Pagina 123
C++ - Pagina 124
C++ - Pagina 125
C++ - Pagina 126
C++ - Pagina 127
C++ - Pagina 128
C++ - Pagina 129
C++ - Pagina 130
C++ - Pagina 131
C++ - Pagina 132
C++ - Pagina 133
C++ - Pagina 134
C++ - Pagina 135
C++ - Pagina 136
C++ - Pagina 137
C++ - Pagina 138
C++ - Pagina 139
C++ - Pagina 140
C++ - Pagina 141
C++ - Pagina 142
C++ - Pagina 143
C++ - Pagina 144
C++ - Pagina 145
C++ - Pagina 146
C++ - Pagina 147
C++ - Pagina 148
C++ - Pagina 149
C++ - Pagina 150
C++ - Pagina 151
C++ - Pagina 152
C++ - Pagina 153
C++ - Pagina 154
C++ - Pagina 155
C++ - Pagina 156

Conținut arhivă zip

  • C++
    • Bibliografie.doc
    • C++1.doc
    • C++10.doc
    • C++11.doc
    • C++12.doc
    • C++13.doc
    • C++14.doc
    • C++2.doc
    • C++3.doc
    • C++4.doc
    • C++5.doc
    • C++6.doc
    • C++7.doc
    • C++8.doc
    • C++9.doc
    • CUPRINS.DOC
    • Introducere.doc

Alții au mai descărcat și

Analiza și Reglarea unui Sistem Cazan-Turbina-Generator-Sistem Electro-Energetic Radial

Tema de proiectare: Se vor proiecta intr-o forma simplificata principalele circuite de reglare folosite la sistemul cazan  turbina  generator...

Proiectarea unui Sistem cu Reglare Automata a Debitului

1. Consideratii generale privind contructia si reglarea ventilelor de reglare. Presiunile nominale si domeniile de diametre nominale pentru...

Sistem de Reglare Automata a Temperaturii la un Schimbator de Caldura cu Parametri Concentrati

Tema de proiectare: Să se proiecteze un sistem de reglare automată a temperaturii produsului util la un schimbător de căldură cu parametri...

Programare în Limbaj de Asamblare

1. Structura unui calculator numeric de tip John von Neumann 2. Ce sunt asambloarele? Descrieti etapele procesului de asamblare. Asambloarele...

Modelarea Matlab-Simulink a Unei Sere

Cunoasterea duratei de timp de la semanat pâna la rasaritul plantelor mai are însemnatate si pentru obtinerea unor productii cat mai timpurii. Daca...

Adrese Utilizate in Programarea Manuala

Adrese utilizate in programarea numerica manuala Programarea numerică manuală a maşinilor unelte cu comandă numerică are drept scop întocmirea...

Ingineria Sistemelor de Programe

Ingineria Sistemelor de Programe Curs 1 – 2009 • Criza software-ului, inginerie software • Despre complexitatea software-ului - exemplu •...

Arhitectura Calculatoarelor

1. INTRODUCERE OBIECTIVE Principalele obiective ale acestui capitol introductiv sunt urmatoarele: caracterizarea notiunii de informatie,...

Ai nevoie de altceva?