C++ Builder 6 Cwiczenia zaawansowane.pdf
(
194 KB
)
Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
C++Builder 6.
Æwiczenia zaawansowane
SPIS TRECI
KATALOG KSI¥¯EK
KATALOG ONLINE
Autor: Andrzej Daniluk
ISBN: 83-7361-089-8
Format: B5, stron: 138
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Jeli opanowa³e ju¿ podstawy C++ Buildera i zacz¹³e wykorzystywaæ to rodowisko
we w³asnych projektach, przyszed³ zapewne czas na dokonanie nastêpnego kroku:
poznanie zaawansowanych technik programistycznych.
Ksi¹¿ka „C++Builder 6. Æwiczenia zaawansowane” to ponad 30 kompletnych
przyk³adowych projektów. Jak wszystkie ksi¹¿ki z tej serii jest ona skierowana do
praktyków: nie znajdziesz wiêc w niej rozwa¿añ teoretycznych, za to w krótkim czasie,
krok po kroku, opanujesz C++ Buildera na profesjonalnym poziomie. Tak¿e u¿ytkownicy
innych rodowisk programistycznych wykorzystuj¹cych jêzyk C++ skorzystaj¹ na jej
lekturze.
Opisano miêdzy innymi:
• Wskazania, adresy i odwo³ania
• Prze³adowywanie operatorów
• Funkcje wirtualne, klasy pochodne, polimorficzne i abstrakcyjne
• Wykorzystanie w¹tków i procesów
• Operacje na plikach
• Modyfikowanie typów zmiennych w czasie wykonywania programu
• Generowanie liczb pseudolosowych
• Wykorzystanie koprocesora matematycznego
• Tworzenie nowych komponentów C++ Buildera i modyfikowanie istniej¹cych
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp...........................................................................................................................................................5
Rozdział 1. Wskazania i adresy................................................................................................................................7
Organizacja pamici w komputerze....................................................................................7
Operatory wskanikowe....................................................................................................9
Wskaniki i tablice...........................................................................................................9
Wskaniki ze słowem kluczowym const........................................................................... 13
Wielokrotne operacje po rednie....................................................................................... 14
Wskaniki do funkcji...................................................................................................... 15
Wskaniki i pami% alokowana dynamicznie .................................................................... 20
Stos......................................................................................................................... 21
Sterta....................................................................................................................... 22
Dereferencja wskanika.................................................................................................. 27
Operatory (.*) oraz (->*) ................................................................................................ 29
Podsumowanie............................................................................................................... 30
Rozdział 2. Odwołania................................................................................................................................................31
Czym s1 odwołania?....................................................................................................... 31
Parametry odwołaniowe.................................................................................................. 33
Zwracanie odwoła4 przez funkcje.................................................................................... 35
Odwołania do struktur .................................................................................................... 36
Podsumowanie............................................................................................................... 38
Rozdział 3. Przeładowywanie operatorów......................................................................................................39
Przeładowywanie jednoargumentowych operatorów ++ oraz –– ....................................... 40
Przeładowywanie operatorów (!) oraz (!=) ....................................................................... 43
Przeładowywanie operatora &......................................................................................... 46
Przeładowywanie operatora indeksowania tablic []............................................................ 47
Podsumowanie............................................................................................................... 50
Rozdział 4. Tablice jako urz%dzenia wej&cia-wyj&cia................................................................................51
Podsumowanie............................................................................................................... 54
Rozdział 5. Funkcje wirtualne. Klasy pochodne, polimorficzne i abstrakcyjne............................55
Odwołania i wskaniki do klas pochodnych...................................................................... 55
Funkcje wirtualne w C++................................................................................................ 58
Funkcje wirtualne w C++Builderze.................................................................................. 61
Klasy abstrakcyjne w stylu biblioteki VCL ....................................................................... 64
Podsumowanie............................................................................................................... 66
4
C++Builder 6. wiczenia zaawansowane
Rozdział 6. Typy danych Windows.......................................................................................................................67
Rozdział 7. W%tki.........................................................................................................................................................69
W1tki i procesy.............................................................................................................. 69
Funkcja _beginthread() ................................................................................................... 70
Funkcja _beginthreadNT() .............................................................................................. 72
Funkcja BeginThread()................................................................................................... 77
Zmienne lokalne w1tku................................................................................................... 80
Klasa TThread............................................................................................................... 81
Metody.................................................................................................................... 81
Wła ciwo ci............................................................................................................. 82
Podsumowanie............................................................................................................... 84
Rozdział 8. Operacje na plikach..........................................................................................................................85
Moduł SysUtils.............................................................................................................. 85
Windows API ................................................................................................................ 91
Klasa TMemoryStream................................................................................................... 98
Podsumowanie............................................................................................................. 101
Rozdział 9. Zmienne o typie modyfikowalnym w czasie wykonywania programu....................103
Struktura TVarData...................................................................................................... 103
Klasa TCustomVariantType.......................................................................................... 105
Moduł Variants ............................................................................................................ 107
Tablice wariantowe ...................................................................................................... 109
Podsumowanie............................................................................................................. 113
Rozdział 10. Liczby pseudolosowe.......................................................................................................................115
Losowanie z powtórzeniami.......................................................................................... 116
Losowanie bez powtórze4............................................................................................. 119
Podsumowanie............................................................................................................. 124
Rozdział 11. Funkcje FPU..........................................................................................................................................125
Podsumowanie............................................................................................................. 128
Rozdział 12. Komponentowy model C++Buildera.......................................................................................129
Tworzymy nowy komponent......................................................................................... 129
Modyfikacja istniej1cego komponentu z biblioteki VCL/CLX.......................................... 135
Podsumowanie............................................................................................................. 138
Rozdział
3.
Przeładowywanie
operatorów
Jzyk C++ udostpnia programistom niezwykle wydajne narzdzie w postaci moliwo-
ci przeładowywania (okrelania nowych działa ) wybranych operatorów.
Przeładowywanie (przedefiniowywanie) operatorów umoliwia rozszerzenie obszaru
zastosowa wybranego operatora na elementy niezdefiniowanej wczeniej unikalnej klasy.
Projektuj&c algorytm nowego działania wybranego operatora, naley skorzysta( ze spe-
cjalnej funkcji o zastrzeonej nazwie
:
Zapis ten oznacza, i, na przykład, najprostsza funkcja opisuj&ca nowy algorytm odejmowa-
nia (nowy sposób działania unarnego operatora odejmowania
) bdzie mogła przybra(
nastpuj&c& posta(:
Reguły C++ umoliwiaj& przeładowywanie praktycznie wszystkich operatorów, za wy-
j&tkiem czterech, dla których nie jest moliwe zdefiniowanie nowych działa :
operatora kropki umoliwiaj&cego uzyskiwanie bezporedniego dostpu
do pół struktur i klas,
operatora wskazuj&cego wybrany element klasy,
operatora rozróniania zakresu,
operatora warunkowego.
40
C++Builder 6. wiczenia zaawansowane
Przeładowywanie jednoargumentowych
operatorów ++ oraz ––
Jako przykład praktycznego wykorzystania przeładowanego operatora postinkrementacji
posłuy nam sytuacja zliczania elementów ci&gu znaków wprowadzonych z klawiatury.
W celu przeładowania jednoargumentowego operatora
w pierwszej kolejnoci musimy
zaprojektowa( odpowiedni& funkcj operatorow&. Kada funkcja operatorowa powinna
mie( moliwo( wykonywania odpowiednich operacji na właciwych egzemplarzach
klasy (lub obiektu), inaczej mówi&c, powinna w stosunku do odpowiedniej klasy posiada(
status funkcji zaprzyja/nionej lub by( normaln& metod& w klasie. Zaprojektujemy prost&
klas o nazwie
(licznik):
!!!!"
##
Poniewa celem naszym bdzie zwikszanie w odpowiedni sposób (postinkrementowanie)
wartoci pola
egzemplarza
klasy
, funkcja operatorowa przybierze
nieskomplikowan& posta(:
!!!!"
Zauwamy, i funkcja ta, bd&c normaln& metod& w klasie, nie posiada jawnych argu-
mentów i w momencie wywołania otrzymuje
niejawny
wska/nik
do własnego eg-
zemplarza klasy. Dziki posiadaniu niejawnego wska/nika
funkcja ma moliwo(
postinkrementowania wartoci pola
własnego egzemplarza klasy.
Dziki instrukcji:
"
funkcja operatorowa jawnie zwraca wska/nik do zmodyfikowanego egzemplarza
klasy
.
wiczenie 3.1.
Kada funkcja składowa klasy otrzymuje niejawnie argument w postaci wska/nika do
obiektu, który j& wywołał, i do którego uzyskuje si dostp, wykorzystuj&c słowo kluczowe
(wska/nik)
. Funkcje składowe przeładowywanych operatorów jednoargumentowych
nie potrzebuj& adnych jawnie zadeklarowanych parametrów formalnych. Jedynym argu-
mentem, którego naley uy(, jest wska/nik
, bd&cy w rzeczywistoci wska/nikiem
do egzemplarza klasy, a nie jego kopi&. Konsekwencj& tego jest fakt, i wszystkie modyfi-
kacje wykonane za jego porednictwem przez funkcj operatora modyfikuj& zawarto(
wywoływanego egzemplarza klasy. Przykład wykorzystania funkcji
prze-
ładowanego operatora
w celu zliczania znaków wprowadzanych z klawiatury zamiesz-
czono na listingu 3.1. Koniec ci&gu wprowadzanych znaków oznaczamy klawiszem
Esc
.
Plik z chomika:
Ravel25
Inne pliki z tego folderu:
Asembler dla procesorow Intel Vademecum profesjonalisty.pdf
(400 KB)
Asembler cwiczenia praktyczne.pdf
(358 KB)
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe.pdf
(829 KB)
Architektura oprogramowania Metody oceny oraz analiza przypadkow.pdf
(429 KB)
Aplikacje w Visual C++ 2005 Przyklady.pdf
(296 KB)
Inne foldery tego chomika:
(X) HTML
algorytmy i struktury danych
asembler
C++
Core JAVA2 Podstawy
Zgłoś jeśli
naruszono regulamin