Visual C++ 2005 Od podstaw.pdf

(736 KB) Pobierz
Visual C++ 2005. Od podstaw
Visual C++ 2005.
Autor: Ivor Horton
T³umaczenie: £ukasz Piwko (wstêp, rozdz. 1-10),
Marcin Rogó¿ (rozdz. 11-22, dod. A, B)
ISBN: 978-83-246-0652-8
Tytu³ orygina³ u: Beginning Visual C++ 2005
Format: B5, stron: 1224
oprawa twarda
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Podrêcznik dla pocz¹tkuj¹cych programistów jêzyka Visual C++ 2005
Jak pisaæ wydajne programy uruchamiane bezpoœrednio w systemie Windows?
Jak b³yskawicznie tworzyæ aplikacje na platformê .NET?
Jakie techniki zastosowaæ, by wygodnie zarz¹dzaæ bazami danych?
C++ od czasu swego powstania cieszy siê zas³u¿on¹ popularnoœci¹ i nie mog³o
go zabrakn¹æ wœród jêzyków obs³ugiwanych przez œrodowisko Visual Studio, gdzie
dostêpne s¹ dwie wersje tego jêzyka. C++ ISO/ANSI pozwala pisaæ bardzo wydajne
aplikacje, które mo¿na uruchamiaæ bezpoœrednio w systemie Windows, podczas gdy
C++/CLI to specyficzna dla Visual Studio odmiana umo¿liwiaj¹ca szybkie tworzenie
rozbudowanych programów na platformê .NET.
Ksi¹¿ka Visual C++ 2005. Od podstaw pozwoli Ci rozpocz¹æ pracê z obiema wersjami
jêzyka Visual C++. Poznasz sk³adniê wspóln¹ dla obu odmian tego jêzyka, a tak¿e
specyficzne funkcje ka¿dej z nich. Nauczysz siê korzystaæ ze zintegrowanego
œrodowiska programistycznego, które u³atwia pisanie, kompilowanie i diagnozowanie
kodu. Dowiesz siê te¿, jak obs³ugiwaæ i drukowaæ dokumenty, zarz¹dzaæ bazami danych
czy przygotowywaæ w³asne biblioteki DLL.
Praca w zintegrowanym œrodowisku programistycznym
Sk³adnia jêzyków C++ ISO/ANSI i C++/CLI
Programowanie obiektowe w Visual C++
Diagnozowanie kodu
Pisanie aplikacji dla platformy .NET
Tworzenie oprogramowania dla systemu Windows
Przechowywanie i drukowanie dokumentów
Tworzenie w³asnych bibliotek DLL
Praca z bazami danych
Naucz siê korzystaæ z najnowszych technologii i narzêdzi
do tworzenia aplikacji dla systemu Windows
Od podstaw
400261359.003.png 400261359.004.png 400261359.005.png 400261359.006.png 400261359.001.png
O autorze .................................................................................................................................................. 19
Wstęp ......................................................................................................................................................... 21
Rozdział 1. Programowanie przy użyciu Visual C++ 2005 ....................................................................27
Środowisko programistyczne .NET ................................................................................. 27
Common Language Runtime (CLR) ................................................................................. 28
Pisanie programów w C++ ............................................................................................. 29
Nauka programowania dla systemu Windows .................................................................. 30
Nauka C++ ............................................................................................................. 31
Standardy C++ ........................................................................................................ 32
Aplikacje działające w trybie konsoli ......................................................................... 32
Koncepcje programowania w systemie Windows ........................................................ 33
Czym jest zintegrowane środowisko programistyczne ....................................................... 35
Składniki systemu ................................................................................................... 35
Używanie IDE ............................................................................................................... 37
Opcje paska narzędzi .............................................................................................. 38
Dokowalne paski narzędzi ........................................................................................ 39
Dokumentacja ........................................................................................................ 39
Projekty i rozwiązania .............................................................................................. 40
Ustawianie opcji w Visual C++ 2005 ........................................................................ 54
Tworzenie i uruchamianie programów dla Windowsa .................................................. 55
Tworzenie aplikacji Windows Forms .......................................................................... 58
Podsumowanie ............................................................................................................ 61
Rozdział 2. Dane, zmienne i działania arytmetyczne ..............................................................................63
Struktura programu w C++ ............................................................................................ 64
Funkcja main() ........................................................................................................ 71
Instrukcje programu ................................................................................................ 72
Białe znaki ............................................................................................................. 74
Bloki instrukcji ........................................................................................................ 75
Programy konsolowe generowane automatycznie ....................................................... 75
Definiowanie zmiennych ................................................................................................ 76
Zasady nadawania nazw zmiennym ........................................................................... 77
Deklarowanie zmiennych .......................................................................................... 78
Wartość początkowa zmiennej .................................................................................. 79
Podstawowe typy danych .............................................................................................. 80
Zmienne całkowite .................................................................................................. 80
Znakowe typy danych .............................................................................................. 81
Modyfikatory typu integer ......................................................................................... 82
Typ logiczny ............................................................................................................ 83
400261359.002.png
6
Visual C++ 2005. Od podstaw
Typy zmiennopozycyjne ............................................................................................ 84
Literały ................................................................................................................... 85
Definiowanie synonimów typów danych ..................................................................... 86
Zmienne o określonych zbiorach wartości ................................................................. 87
Określanie typu stałych wyliczeniowych ..................................................................... 88
Podstawowe operacje wejścia-wyjścia ............................................................................ 89
Wprowadzanie danych z klawiatury ........................................................................... 89
Wysyłanie danych do wiersza poleceń ....................................................................... 90
Formatowanie wysyłanych danych ............................................................................. 91
Kodowanie znaków specjalnych ................................................................................ 92
Wykonywanie obliczeń w C++ ........................................................................................ 94
Instrukcja przypisania .............................................................................................. 94
Działania arytmetyczne ............................................................................................ 95
Obliczanie reszty ................................................................................................... 100
Modyfikowanie zmiennej ........................................................................................ 101
Operatory inkrementacji i dekrementacji ................................................................. 102
Kolejność wykonywania obliczeń ............................................................................. 104
Typy zmiennych i rzutowanie ........................................................................................ 106
Zasady rzutowania operandów ............................................................................... 106
Rzutowanie w instrukcjach przypisania .................................................................... 107
Rzutowanie jawne ................................................................................................. 108
Rzutowanie w starym stylu ..................................................................................... 109
Operatory bitowe ................................................................................................... 109
Czas życia i zasięg zmiennych ..................................................................................... 116
Zmienne automatyczne .......................................................................................... 116
Pozycjonowanie deklaracji zmiennych ...................................................................... 119
Zmienne globalne ................................................................................................. 119
Zmienne statyczne ................................................................................................ 123
Przestrzenie nazw ....................................................................................................... 123
Deklarowanie przestrzeni nazw ............................................................................... 125
Wielokrotne deklaracje przestrzeni nazw ................................................................. 126
Programowanie w C++/CLI .......................................................................................... 128
Fundamentalne typy danych w C++/CLI .................................................................. 128
Wysyłanie danych do wiersza poleceń w C++/CLI .................................................... 133
C++/CLI formatowanie danych wyjściowych ........................................................ 133
C++/CLI wprowadzanie danych z klawiatury ........................................................ 136
Bezpieczne rzutowanie .......................................................................................... 137
Wyliczenia w C++/CLI ............................................................................................ 138
Podsumowanie .......................................................................................................... 141
Ćwiczenia .................................................................................................................. 142
Rozdział 3. Decyzje i pętle ....................................................................................................................... 145
Porównywanie wartości ............................................................................................... 145
Instrukcja warunkowa if ......................................................................................... 147
Zagnieżdżanie instrukcji warunkowych if .................................................................. 148
Rozszerzona instrukcja warunkowa if ...................................................................... 150
Zagnieżdżanie instrukcji warunkowych if-else ........................................................... 152
Operatory logiczne i wyrażenia ................................................................................ 154
Operator warunkowy .............................................................................................. 158
Instrukcja switch ................................................................................................... 159
Przejście bezwarunkowe ........................................................................................ 162
Spis treści
7
Powtarzanie bloków instrukcji ...................................................................................... 163
Czym jest pętla ..................................................................................................... 163
Różne sposoby użycia pętli for ............................................................................... 165
Pętla while ........................................................................................................... 174
Pętla do-while ....................................................................................................... 176
Zagnieżdżanie pętli ............................................................................................... 177
Programowanie w C++/CLI .......................................................................................... 180
Pętla for each ....................................................................................................... 184
Podsumowanie .......................................................................................................... 187
Ćwiczenia .................................................................................................................. 187
Rozdział 4. Tablice, łańcuchy znaków i wskaźniki ................................................................................ 189
Obsługa wielu wartości danych tego samego typu ......................................................... 190
Tablice ................................................................................................................. 190
Deklarowanie tablic ............................................................................................... 191
Inicjalizacja tablic .................................................................................................. 194
Tablice znakowe oraz obsługa łańcuchów ................................................................ 196
Tablice wielowymiarowe ......................................................................................... 200
Pośredni dostęp do danych ......................................................................................... 203
Czym jest wskaźnik ............................................................................................... 203
Deklarowanie wskaźników ...................................................................................... 204
Używanie wskaźników ............................................................................................ 205
Inicjalizowanie wskaźników .................................................................................... 207
Operator sizeof ..................................................................................................... 213
Stałe wskaźniki oraz wskaźniki do stałych ............................................................... 215
Wskaźniki i tablice ................................................................................................ 217
Dynamiczne przydzielanie pamięci ............................................................................... 224
Pamięć wolna, czyli sterta ...................................................................................... 224
Operatory new i delete ........................................................................................... 224
Dynamiczne przydzielanie pamięci tablicom ............................................................. 225
Dynamiczne przydzielanie pamięci tablicom wielowymiarowym .................................. 228
Używanie referencji ..................................................................................................... 229
Czym jest referencja .............................................................................................. 229
Deklarowanie i inicjalizowanie referencji .................................................................. 229
Programowanie w C++/CLI .......................................................................................... 230
Uchwyty śledzące .................................................................................................. 231
Tablice CLR .......................................................................................................... 233
Łańcuchy .............................................................................................................. 248
Referencje śledzące .............................................................................................. 258
Wskaźniki wewnętrzne ........................................................................................... 258
Podsumowanie .......................................................................................................... 261
Ćwiczenia .................................................................................................................. 263
Rozdział 5. Wprowadzanie struktury do programu ........................................................................... 265
Zrozumieć funkcje ...................................................................................................... 266
Do czego potrzebne są funkcje ............................................................................... 267
Struktura funkcji ................................................................................................... 267
Używanie funkcji ................................................................................................... 269
Przekazywanie argumentów do funkcji .......................................................................... 273
Mechanizm przekazywania przez wartość ................................................................ 274
Wskaźniki jako argumenty funkcji ........................................................................... 275
8
Visual C++ 2005. Od podstaw
Przekazywanie tablic do funkcji ............................................................................... 277
Referencje jako argumenty funkcji .......................................................................... 281
Zastosowanie modyfikatora const .......................................................................... 283
Argumenty funkcji main() ....................................................................................... 285
Akceptowanie zmiennej liczby argumentów funkcji ................................................... 287
Zwracanie wartości przez funkcję ................................................................................. 289
Zwracanie wskaźnika ............................................................................................. 289
Zwracanie referencji .............................................................................................. 292
Zmienna statyczna w funkcji .................................................................................. 295
Wywołania funkcji rekurencyjnej ................................................................................... 297
Stosowanie rekurencji ........................................................................................... 300
Programowanie w C++/CLI .......................................................................................... 300
Funkcje przyjmujące zmienną liczbę argumentów ..................................................... 301
Argumenty funkcji main() ....................................................................................... 302
Podsumowanie .......................................................................................................... 303
Ćwiczenia .................................................................................................................. 304
ciąg dalszy ............................................................................ 305
Wskaźniki do funkcji ................................................................................................... 306
Deklarowanie wskaźników do funkcji ....................................................................... 306
Wskaźnik do funkcji jako argument ......................................................................... 309
Tablice wskaźników do funkcji ................................................................................ 311
Inicjalizowanie parametrów funkcji ............................................................................... 312
Wyjątki ...................................................................................................................... 314
Wywoływanie wyjątków ........................................................................................... 316
Przechwytywanie wyjątków ..................................................................................... 316
Obsługa wyjątków w MFC ....................................................................................... 318
Obsługa błędów przydzielania pamięci .......................................................................... 318
Przeładowywanie funkcji .............................................................................................. 320
Czym jest przeładowywanie funkcji .......................................................................... 321
Kiedy stosować przeładowywanie funkcji ................................................................. 323
Szablony funkcji ......................................................................................................... 323
Stosowanie szablonu funkcji .................................................................................. 324
Przykład używania funkcji ............................................................................................ 326
Implementacja kalkulatora ..................................................................................... 326
Usuwanie spacji z łańcucha ................................................................................... 330
Obliczanie wartości wyrażenia ................................................................................ 330
Obliczanie wartości składnika ................................................................................ 333
Analizowanie liczby ................................................................................................ 334
Składanie całego programu .................................................................................... 337
Rozszerzanie programu .......................................................................................... 339
Wydobywanie podłańcucha .................................................................................... 340
Uruchamianie zmodyfikowanego programu .............................................................. 343
Programowanie w C++/CLI .......................................................................................... 343
Funkcje generyczne ............................................................................................... 345
Kalkulator CLR ...................................................................................................... 351
Podsumowanie .......................................................................................................... 357
Ćwiczenia .................................................................................................................. 358
Rozdział 6. O strukturze programu
Zgłoś jeśli naruszono regulamin