C_dla_kazdego_cppdk.pdf

(667 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
C++ dla ka¿dego
Autor: Jesse Liberty
T³umaczenie: Marcin Pancewicz
ISBN: 83-7197-538-4
Tytu³ orygina³u:
Teach Yourself C++ in 21 Days.
Fourth Edition
Format: B5, stron: 712
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW CENNIK
Materia³ zawarty w tej ksi¹¿ce to podstawowe zagadnienia i koncepcje zwi¹zane
z programowaniem w C++, tak wiêc nie musisz posiadaæ ¿adnego doœwiadczenia
w programowaniu w tym jêzyku. Liczne przyk³ady sk³adni oraz szczegó³owa analiza
kodu stanowi¹ doskona³y przewodnik na pocz¹tku podró¿y, której celem jest
opanowanie programowania w jêzyku C++. Bez wzglêdu na to, czy jesteœ
pocz¹tkuj¹cy, czy te¿ posiadasz pewne doœwiadczenie w programowaniu, przekonasz
siê, ¿e dziêki przejrzystej organizacji tej ksi¹¿ki nauka C++ bêdzie szybka i ³atwa.
Ksi¹¿ka ta stanowi wprowadzenie do programowania w jêzyku C++. Nie koncentruje
siê na konkretnej implementacji, lecz raczej opisuje standard ANSI/ISO; znajdziesz
w niej równie¿ omówienie biblioteki STL (Standard Template Library). Jeœli nawet nie
masz doœwiadczenia w pisaniu programów, to dziêki tej ksi¹¿ce:
Bêdziesz tworzy³ szybkie i wydajne programy w C++.
Zrozumiesz standard ANSI/ISO i skorzystasz z wprowadzonych w nim zmian.
Opanujesz zaawansowane programowanie z u¿yciem funkcji, tablic, zmiennych
i wskaŸników.
Poznasz C++ oraz obiektowo zorientowane projektowanie, programowanie
i analizê.
Nauczysz siê wzbogacaæ swoje programy za pomoc¹ dziedziczenia
i polimorfizmu.
Bêdziesz móg³ korzystaæ z dowolnego kompilatora zgodnego ze standardem
ANSI/ISO C++.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
"
"
"
"
"
"
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
O Autorze ...........................................................................................................15
Wstęp ................................................................................................................17
Część I ..........................................................................................19
Rozdział 1. Zaczynamy ......................................................................................21
Wprowadzenie...................................................................................................................21
Krótka historia języka C++ ...............................................................................................21
Rozwiązywanie 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 środowisko 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
2
C++ dla każdego
Rozdział 3. Zmienne i stałe................................................................................49
Czym jest zmienna? ..........................................................................................................49
Dane są przechowywane w pamięci ...........................................................................49
Przydzielanie pamięci .................................................................................................50
Rozmiar liczb całkowitych .........................................................................................51
Zapis ze znakiem i bez znaku .....................................................................................52
Podstawowe typy zmiennych......................................................................................53
Definiowanie zmiennej .....................................................................................................54
Uwzględnianie wielkości liter.....................................................................................55
Słowa kluczowe ..........................................................................................................56
Tworzenie kilku zmienych jednocześnie ..........................................................................56
Przypisywanie zmiennym wartości...................................................................................56
typedef...............................................................................................................................58
Kiedy u ywać typu short, a kiedy typu long? ...................................................................59
Zawinięcie liczby całkowitej bez znaku .....................................................................60
Zawinięcie 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
Kolejność działań ..............................................................................................................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 eń logicznych .........................................................................91
Kolejność operatorów logicznych.....................................................................................91
Kilka słów na temat prawdy i fałszu .................................................................................92
Operator warunkowy (trójelementowy) ............................................................................93
Spis treści
3
Rozdział 5. Funkcje ...........................................................................................95
Czym jest funkcja? ............................................................................................................95
Zwracane wartości, 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 wartości ......................................................................109
Parametry domyślne........................................................................................................111
Przecią anie funkcji ........................................................................................................113
Zagadnienia związane z funkcjami .................................................................................116
Funkcje typu inline ...................................................................................................116
Rekurencja ................................................................................................................118
Jak działają funkcje — rzut oka „pod maskę” ................................................................123
Poziomy abstrakcji....................................................................................................123
Podział pamięci.........................................................................................................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
Dostęp do składowych klasy ...........................................................................................134
Przypisywać nale y obiektom, nie klasom ...............................................................134
Czego nie zadeklarujesz, tego klasa nie będzie miała ..............................................134
Prywatne i publiczne .......................................................................................................135
Oznaczanie danych składowych jako prywatnych ...................................................137
Prywatność a ochrona ...............................................................................................138
Implementowanie metod klasy........................................................................................140
Konstruktory i destruktory ..............................................................................................142
Domyślne konstruktory i destruktory .......................................................................143
U ycie domyślnego 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 każdego
Rozdział 7. Sterowanie przebiegiem działania programu ....................................159
Pętle.................................................................................................................................159
Początki pętli: instrukcja goto...................................................................................159
Dlaczego nie jest zalecane stosowanie instrukcji goto?............................................160
Pętle while .......................................................................................................................160
Bardziej skomplikowane instrukcje while ................................................................162
continue oraz break ...................................................................................................163
Pętla while (true).......................................................................................................166
Pętla do...while ................................................................................................................167
do...while .........................................................................................................................168
Pętle for ...........................................................................................................................170
Zaawansowane pętle for ...........................................................................................171
Puste pętle for ...........................................................................................................174
Pętle zagnie d one....................................................................................................175
Zakres zmiennych w pętlach for ...............................................................................177
Podsumowanie pętli ........................................................................................................178
Instrukcja switch .............................................................................................................180
U ycie instrukcji switch w menu..............................................................................182
Program podsumowujący wiadomości............................................................................186
Część II .......................................................................................191
Rozdział 8. Wskaźniki ......................................................................................193
Czym jest wskaźnik?.......................................................................................................193
Kilka słów na temat pamięci.....................................................................................193
U ycie operatora adresu (&) .....................................................................................194
Przechowywanie adresu we wskaźniku ....................................................................195
Puste i błędne wskaźniki...........................................................................................195
Nazwy wskaźników ..................................................................................................196
Operator wyłuskania .................................................................................................197
Wskaźniki, adresy i zmienne ....................................................................................197
Operowanie danymi poprzez wskaźniki ...................................................................199
Sprawdzanie adresu ..................................................................................................200
Do czego słu ą wskaźniki? .............................................................................................202
Stos i sterta ......................................................................................................................203
Operator new.............................................................................................................204
delete .........................................................................................................................204
Wycieki pamięci..............................................................................................................206
Tworzenie obiektów na stercie........................................................................................207
Usuwanie obiektów .........................................................................................................207
Dostęp do składowych klasy ...........................................................................................208
Dane składowe na stercie ................................................................................................210
Wskaźnik this ..................................................................................................................212
Utracone wskaźniki .........................................................................................................214
Wskaźniki const ..............................................................................................................217
Wskaźniki const i funkcje składowe const ...............................................................218
Wskaźniki const this .................................................................................................219
Działania arytmetyczne na wskaźnikach — 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