C___dla_kazdego_-_J.Liberty.pdf

(3630 KB) Pobierz
228295430 UNPDF
228295430.001.png
O Autorze ...........................................................................................................15
Wstp ................................................................................................................17
Cz I ..........................................................................................19
Rozdział 1. Zaczynamy ......................................................................................21
Wprowadzenie...................................................................................................................21
Krótka historia jzyka C++...............................................................................................21
Rozwizywanie problemów........................................................................................22
Programowanie proceduralne, strukturalne i obiektowe ............................................23
C++ i programowanie zorientowane obiektowo.........................................................25
Jak ewoluowało C++.........................................................................................................26
Czy nale*y najpierw pozna+ C?........................................................................................26
C++ a Java i C#.................................................................................................................27
Standard ANSI ..................................................................................................................27
Przygotowanie do programowania....................................................................................28
Twoje 6rodowisko programowania...................................................................................28
Tworzenie programu.........................................................................................................29
Tworzenie pliku obiektowego za pomoc kompilatora..............................................29
Tworzenie pliku wykonywalnego za pomoc linkera ................................................30
Cykl tworzenia programu..................................................................................................30
HELLO.cpp — twój pierwszy program w C++................................................................32
Zaczynamy prac z kompilatorem ....................................................................................34
Budowanie projektu Hello World...............................................................................34
Błdy kompilacji...............................................................................................................36
Rozdział 2. Anatomia programu C++ ..................................................................37
Prosty program..................................................................................................................37
Rzut oka na obiekt cout.....................................................................................................39
U*ywanie przestrzeni nazw standardowych .....................................................................41
Komentarze .......................................................................................................................43
Rodzaje komentarzy....................................................................................................44
U*ywanie komentarzy ................................................................................................44
Jeszcze jedna uwaga na temat komentarzy.................................................................45
Funkcje..............................................................................................................................45
Korzystanie z funkcji..................................................................................................46
228295430.002.png
2
C++ dla kadego
Rozdział 3. Zmienne i stałe................................................................................49
Czym jest zmienna? ..........................................................................................................49
Dane s przechowywane w pamici ...........................................................................49
Przydzielanie pamici.................................................................................................50
Rozmiar liczb całkowitych .........................................................................................51
Zapis ze znakiem i bez znaku .....................................................................................52
Podstawowe typy zmiennych......................................................................................53
Definiowanie zmiennej .....................................................................................................54
Uwzgldnianie wielko6ci liter.....................................................................................55
Słowa kluczowe..........................................................................................................56
Tworzenie kilku zmienych jednocze6nie ..........................................................................56
Przypisywanie zmiennym warto6ci...................................................................................56
typedef...............................................................................................................................58
Kiedy u*ywa+ typu short, a kiedy typu long?...................................................................59
Zawinicie liczby całkowitej bez znaku .....................................................................60
Zawinicie liczby całkowitej ze znakiem ...................................................................61
Znaki..................................................................................................................................62
Znaki i liczby ..............................................................................................................62
Znaki specjalne ...........................................................................................................63
Stałe...................................................................................................................................64
Literały........................................................................................................................64
Stałe symboliczne .......................................................................................................64
Stałe wyliczeniowe............................................................................................................66
Rozdział 4. Wyra#enia i instrukcje......................................................................69
Instrukcje...........................................................................................................................69
Białe spacje.................................................................................................................70
Bloki i instrukcje zło*one ...........................................................................................70
Wyra*enia..........................................................................................................................70
Operatory...........................................................................................................................72
Operator przypisania...................................................................................................72
Operatory matematyczne............................................................................................73
Dzielenie całkowite i reszta z dzielenia......................................................................73
Łczenie operatora przypisania z operatorem matematycznym .......................................74
Inkrementacja i dekrementacja..........................................................................................75
Przedrostki i przyrostki...............................................................................................75
Kolejno6+ działaF..............................................................................................................77
Zagnie*d*anie nawiasów...................................................................................................78
Prawda i fałsz....................................................................................................................79
Operatory relacji .........................................................................................................79
Instrukcja if .......................................................................................................................80
Styl wci+....................................................................................................................83
else ..............................................................................................................................84
Zaawansowane instrukcje if........................................................................................86
U*ycie nawiasów klamrowych w zagnie*d*onych instrukcjach if...................................87
Operatory logiczne............................................................................................................89
Logiczne I ...................................................................................................................90
Logiczne LUB.............................................................................................................90
Logiczne NIE..............................................................................................................90
Skrócone obliczanie wyra*eF logicznych.........................................................................91
Kolejno6+ operatorów logicznych.....................................................................................91
Kilka słów na temat prawdy i fałszu.................................................................................92
Operator warunkowy (trójelementowy)............................................................................93
Spis treci
3
Rozdział 5. Funkcje ...........................................................................................95
Czym jest funkcja?............................................................................................................95
Zwracane warto6ci, parametry i argumenty......................................................................96
Deklarowanie i definiowanie funkcji................................................................................97
Deklarowanie funkcji..................................................................................................97
Prototypy funkcji ........................................................................................................98
Definiowanie funkcji ..................................................................................................99
Wykonywanie funkcji.....................................................................................................100
Zmienne lokalne..............................................................................................................101
Zakres........................................................................................................................102
Zmienne globalne............................................................................................................102
Zmienne globalne: ostrze*enie........................................................................................104
Kilka słów na temat zmiennych lokalnych .....................................................................104
Instrukcje funkcji.............................................................................................................106
Kilka słów na temat argumentów funkcji .......................................................................106
U*ycie funkcji jako parametrów funkcji...................................................................106
Parametry s zmiennymi lokalnymi................................................................................107
Kilka słów na temat zwracanych warto6ci......................................................................109
Parametry domy6lne........................................................................................................111
Przeci*anie funkcji ........................................................................................................113
Zagadnienia zwizane z funkcjami.................................................................................116
Funkcje typu inline ...................................................................................................116
Rekurencja ................................................................................................................118
Jak działaj funkcje — rzut oka „pod mask” ................................................................123
Poziomy abstrakcji....................................................................................................123
Podział pamici.........................................................................................................123
Stos i funkcje.............................................................................................................126
Rozdział 6. Programowanie zorientowane obiektowo.........................................129
Czy C++ jest zorientowane obiektowo? .........................................................................129
Tworzenie nowych typów...............................................................................................130
Po co tworzy+ nowy typ?..........................................................................................131
Klasy i składowe .............................................................................................................131
Deklarowanie klasy...................................................................................................132
Kilka słów o konwencji nazw...................................................................................132
Definiowanie obiektu................................................................................................133
Klasy a obiekty .........................................................................................................133
Dostp do składowych klasy...........................................................................................134
Przypisywa+ nale*y obiektom, nie klasom...............................................................134
Czego nie zadeklarujesz, tego klasa nie bdzie miała ..............................................134
Prywatne i publiczne.......................................................................................................135
Oznaczanie danych składowych jako prywatnych ...................................................137
Prywatno6+ a ochrona...............................................................................................138
Implementowanie metod klasy........................................................................................140
Konstruktory i destruktory..............................................................................................142
Domy6lne konstruktory i destruktory .......................................................................143
U*ycie domy6lnego konstruktora .............................................................................143
Funkcje składowe const ..................................................................................................146
Interfejs a implementacja................................................................................................147
Gdzie umieszcza+ deklaracje klasy i definicje metod.....................................................150
Implementacja inline.......................................................................................................151
Klasy, których danymi składowymi s inne klasy..........................................................153
Struktury..........................................................................................................................157
Dlaczego dwa słowa kluczowe spełniaj t sam funkcj........................................157
4
C++ dla kadego
Rozdział 7. Sterowanie przebiegiem działania programu ....................................159
Ptle.................................................................................................................................159
Pocztki ptli: instrukcja goto...................................................................................159
Dlaczego nie jest zalecane stosowanie instrukcji goto?............................................160
Ptle while.......................................................................................................................160
Bardziej skomplikowane instrukcje while................................................................162
continue oraz break...................................................................................................163
Ptla while (true).......................................................................................................166
Ptla do...while................................................................................................................167
do...while.........................................................................................................................168
Ptle for...........................................................................................................................170
Zaawansowane ptle for ...........................................................................................171
Puste ptle for ...........................................................................................................174
Ptle zagnie*d*one....................................................................................................175
Zakres zmiennych w ptlach for...............................................................................177
Podsumowanie ptli ........................................................................................................178
Instrukcja switch .............................................................................................................180
U*ycie instrukcji switch w menu..............................................................................182
Program podsumowujcy wiadomo6ci............................................................................186
Cz II .......................................................................................191
Rozdział 8. Wska-niki......................................................................................193
Czym jest wskaMnik?.......................................................................................................193
Kilka słów na temat pamici.....................................................................................193
U*ycie operatora adresu (&).....................................................................................194
Przechowywanie adresu we wskaMniku....................................................................195
Puste i błdne wskaMniki...........................................................................................195
Nazwy wskaMników..................................................................................................196
Operator wyłuskania.................................................................................................197
WskaMniki, adresy i zmienne ....................................................................................197
Operowanie danymi poprzez wskaMniki...................................................................199
Sprawdzanie adresu ..................................................................................................200
Do czego słu* wskaMniki? .............................................................................................202
Stos i sterta......................................................................................................................203
Operator new.............................................................................................................204
delete.........................................................................................................................204
Wycieki pamici..............................................................................................................206
Tworzenie obiektów na stercie........................................................................................207
Usuwanie obiektów.........................................................................................................207
Dostp do składowych klasy...........................................................................................208
Dane składowe na stercie................................................................................................210
WskaMnik this..................................................................................................................212
Utracone wskaMniki.........................................................................................................214
WskaMniki const ..............................................................................................................217
WskaMniki const i funkcje składowe const ...............................................................218
WskaMniki const this.................................................................................................219
Działania arytmetyczne na wskaMnikach — temat dla zaawansowanych.......................220
Rozdział 9. Referencje.....................................................................................223
Czym jest referencja?......................................................................................................223
U*ycie operatora adresu z referencj..............................................................................225
Nie mo*na zmienia+ przypisania referencji..............................................................226
Zgłoś jeśli naruszono regulamin