Spis treści
Rozdział1. Wprowadzenie 11
1.1. Programowanie obiektowe 11 1.2. Obiektowe języki programowania 13 1.3. Co zawiera ta książka 14
Rozdział2. Dane 15
2.1. Alfabet 15 2.2. Identyfikatory 16 2.3. Słowa kluczowe 16 2.4. Komentarze 16 2.5. Typy danych liczbowych 17 2.6. Liczby 18 ' 2.6.1. Liczby całkowite 18
2.6.2. Liczby zmiennopozycyjne 19 2.7. Znaki 19 2.8. Łańcuchy 20 2.9. Zmienne 21 2.10. Stałe 23 2.11. Operator przypisania 23 2.12. Wskaźniki 24 2.13. Referencje 27
6 Spis treści
2.14. Typy wyliczeniowe 29
2.15. Nazywanie typów danych 30
Rozdziała. Wyrażenia 32
3.1. Definicja wyrażenia 32
3.2. Konwersja wartości 32
G
3.3. Operatory arytmetyczne 34
3.4. Operatory zmniejszania i zwiększania 36
3.5. Operatory relacyjne 37
3.6. Operatory logiczne 3g
3.7. Operatory bitowe 3g
3.8. Złożone operatory przypisania 40
3.9. Operator warunkowy 41
3.10. Operator rozmiaru 42
3.11. Operator wyliczenia 42
3.12. Priorytety operatorów 43
Rozdział 4. Instrukcje 44
4.1. Rodzaje instrukcji 44
4.2. Instrukcja prosta 45
4.3. Instrukcja złożona 45
4.4. Instrukcja warunkowa 46
4.5. Instrukcja wyboru 4g
4.6. Instrukcje pętli 51
4.7. Instrukcje skoków 55
Rozdział 5. Struktury danych 58
5.1. Związki pomiędzy danymi Sg
5.2. Tablice Sg
Spis treści 7
5.2.1. Tablice jednowymiarowe 59 5.2.2. Tablice wielowymiarowe 62
5.3. Struktury 65 5.4. Unie 71
Rozdział ó. Funkcje 73
6.1. Program główny i podprogramy 73 6.2. Dekłaracja funkcji 74 6.3. Definicja funkcji 75
6.4. Wywołanie funkcji 76
6.4.1. Przekazywanie argumentów funkcji 77
6.4.2. Tablice jako argumenty funkcji 81
6.4.3. Wartości domyślne argumentów funkcji 84
6.4.4. Funkcje rekurencyjne 84
6.4.5. Podprogramy wstawiane 85
6.5. Wskaźniki funkcji 86
6.5.1. Tablice wskaźników funkcji 88
6.5.2. Wskaźnik funkcji jako argument funkcji 89
6.5,3. Wskaźnik funkcji jako wynik funkcji 90
6.6. Przeci ążanie identyfikatorów funkcji 91
6.6.1. Wzorce fiu~kcji 96
6.7. Funkcje biblioteczne 98
Rozdział 7. Struktura programu 100
7.1. Części programu 100
I 7.2. Preprocesor 101
7.2.1. Dołączanie plików bibliotecznych 101
7.2.2. Zastępowanie tekstów 102
7.2.3. Kompilacja warunkowa 103
7.3. Funkcja main 104
7.4. Deklaracje identyfikatorów 105
7.4.1. Zakres deklaracji 105
?.4.2. Zasięg deklaracji 107
7.4.3. Przesłanianie identyfikatorów 108
ó Spis treści
7.4.4. Dostęp do obiektów globalnych 109 7.5. Lokalizacja zmiennych 110 7.6. Dynamiczny przydział pamięci 112
Rozdział 8. Wprowadzanie i wyprowadzanie danych 115
8.1. Klawiatura 115
8.1.1. getch 116
8.1.2. getche 117
8.1.3. scanf 118
8.1.4. gets 121
8.2. Monitor ekranowy 122
8.2.1. putchar 123
8.2.2. puts 123
8.2.3. printf 124
8.2.4. clrscr 127
8.3. Pliki dyskowe 128
8.3.1. fopen 129
8.3.2. fclose 130
8.3.3. fseek 131
8.3.4. feof 132
8.3.5. fgetc 132
8.3.6. fputc 133
8.3.7. fscanf 134
8.3.8. fprintf 135
8.3.9. fread 136
8.3.10. fwrite 137
Rozdział 9. Klasy i obiekty 138
9.1. Definicja kłasy 138 9.2. Składowe klasy 142
9.3. Tworzenie obiektów 147
9.3.1. Konstruktory 148
9.3.2. Destruktory 153
9.3.3. Tablice obiektów klas 155
9.3.4. Obiekty klas jako składowe innych klas 156
9.3.5. Stałe obiekty klas 160
Spis treści
9.3.6. Wzorce klas 162
9.4. Przetwarzanie obiektów 163
9.4.1. Dostęp do składowych obiektu 163
9.4.2. Wskaźnik this 167
9.4.3. Wskaźniki funkcji składowych klasy 169
9.4.4. Wskaźniki danych składowych klasy 172
9.5. Obiekty jako argumenty funkcji 174
9.6. Statyczne składowe klas 175
9.7: Funkcje i klasy zaprzyjaźnione 178
i
9.8. Konwersja obiektów 180
Rozdział 10. Przeciążanie operatorów 185
10.1. Operatory przetwarzające obiekty 185
10.1.1 . Operatory binarne 186
10.1.2. Operatory unarne 189
10.1.3. Operatory = [ ] 191
10.2. Operatory wprowadzania i wyprowadzania danych 193
10.2.1. Klawiatura i monitor ekranowy 193
10.2.2. Pliki dyskowe 200
Rozdział 11. Dziedziczenie 203
11.1. Klasy bazowe i klasy pochodne 203
11.2. Hierarchia klas 206
1 1.2.1. Dziedziczenie pojedyncze i wielokrotne 206
1 1.2.2. Drzewa i grafy dziedziczenia 207
11.3. Powszechne i prywatne klasy bazowe 208
11.4. Wirtualne klasy bazowe 212
11.5. Obiekty klas pochodnych 213 j
1 1.5.1. Tworzenie 213
1 1.5.2. Dostęp do składowych 216
11.5.3. Konwersja 220
11.6. Identyfikacja obiektów 226
1 1.6.1. Składowe typu 226 I
1 1.6.2. Funkcje wirtualne 229
Spis treści
1 1.6.3. Klasy abstrakcyjne 235
1 1.6.4. Wirtualne destruktory 237
Rozdział 12. Wyjątki 240
12.1. Błędy czasu wykonania 240
12.2. Obsługa wyjątków 242
12.3. Hierarchia wyjątków 250
Dodatek A. Kod ASCII 252
Dodatek B. Numery techniczne klawiszy 254
Dodatek C. Słowa kluczowe 257
Dodatek D. Notacja węgierska 258
Dodatek E. Priorytety i łączność operatorów 259
Literatura 262
Spis rysunków 263
Spis tabel 265
Skorowidz 266