Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00531 008443 10739940 na godz. na dobę w sumie
MS Visual C++. Ćwiczenia - książka
MS Visual C++. Ćwiczenia - książka
Autor: Liczba stron: 124
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-206-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> visual c++ - programowanie
Porównaj ceny (książka, ebook, audiobook).
Visual C++ to popularne środowisko RAD (szybkiego tworzenia aplikacji). Dzięki intuicyjnej obsłudze jest ono nie tylko wygodnym narzędziem dla profesjonalistów tworzących zaawansowane aplikacje dla Windows, ale także bezpiecznym 'polem doświadczalnym' dla wszystkich tych, którzy chcą spróbować swoich sił w programowaniu w C++.

Niniejsza książka stanowi praktyczne uzupełnienie podręcznika lub kursu programowania w C++. Może być dla Ciebie zbiorem zadań wykonywanych jako indywidualne prace domowe, może być także potraktowana jako zbiór 'podpowiedzi' pokazujący, jak zawodowcy rozwiązują niektóre typowe problemy występujące przy programowaniu w C++ i Visual C++. Więcej w niej praktycznych zadań dla programisty niż teoretycznych rozważań o niuansach sztuki programowania w C++.

Książka opisuje:
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl MS Visual C++. Æwiczenia Autor: Adam Majczak ISBN: 83-7361-206-8 Format: B5, stron: 122 Visual C++ to popularne ġrodowisko RAD (szybkiego tworzenia aplikacji). Dziêki intuicyjnej obs³udze jest ono nie tylko wygodnym narzêdziem dla profesjonalistów tworz¹cych zaawansowane aplikacje dla Windows, ale tak¿e bezpiecznym „polem doġwiadczalnym” dla wszystkich tych, którzy chc¹ spróbowaæ swoich si³ w programowaniu w C++. Niniejsza ksi¹¿ka stanowi praktyczne uzupe³nienie podrêcznika lub kursu programowania w C++. Mo¿e byæ dla Ciebie zbiorem zadañ wykonywanych jako indywidualne prace domowe, mo¿e byæ tak¿e potraktowana jako zbiór „podpowiedzi” pokazuj¹cy, jak zawodowcy rozwi¹zuj¹ niektóre typowe problemy wystêpuj¹ce przy programowaniu w C++ i Visual C++. Wiêcej w niej praktycznych zadañ dla programisty ni¿ teoretycznych rozwa¿añ o niuansach sztuki programowania w C++. Ksi¹¿ka opisuje: • Aplikacje konsolowe ANSI C++ • Programowanie sekwencyjne w Visual C++ • Konstruowanie aplikacji zdarzeniowych i obiektowych • Wyprowadzanie danych w trybie graficznym • Korzystanie z szablonów • Obs³ugê wyj¹tków • Tworzenie aplikacji w ġrodowisku graficznym • Stosowanie biblioteki klas MFC w Visual C++ • Wprowadzenie do MS VisualStudio.NET Spis treści Wprowadzenie ...................................................n...................................................n............. ........................ 5 Jak korzystać z tej książki?...................................................t............................................... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++ ...................... 7 Podsumowanie...................................................t...................................................t.............15 Rozdział 2. Aplikacje konsoli w stylu ANSI C++, programowanie sekwencyjne w Visual C++ ...................................................n......................... 17 Wprowadzanie danych w ruchu programu i rozbieżności w składni ANSI C i ANSI C++...................................................t............ 19 Podsumowanie...................................................t...................................................t.............26 Rozdział 3. Style programowania — konstruowanie aplikacji zdarzeniowych i obiektowych, firmowe przykłady VC++...................................................n 27 Wprowadzenie ...................................................t...................................................t.............27 Pętla pobierania wiadomości o zdarzeniach w programie zdarzeniowym...................................29 Procedury — handlery obsługi zdarzeń ...................................................i....................................30 Jak obiekty mogą reagować na komunikaty o zdarzeniach ...................................................i......31 Podsumowanie...................................................t...................................................t.............42 Rozdział 4. Ewolucja sposobów tworzenia aplikacji w wizualnym środowisku Windows.......43 Wprowadzenie ...................................................t...................................................t.............43 Zamiana liczb dziesiętnych na dwójkowe...................................................i.................................44 Wyprowadzanie danych w trybie graficznym z zastosowaniem prostego buforowania .................46 Podsumowanie...................................................t...................................................t.............53 Rozdział 5. Szablony i obsługa wyjątków...................................................n...................................................n....... 55 Wprowadzenie ...................................................t...................................................t.............55 Obsługa sytuacji wyjątkowych w C++ ...................................................i.....................................55 Konstruowanie i stosowanie szablonów ...................................................i...................................59 Podsumowanie...................................................t...................................................t.............62 Rozdział 6. Wizualne aplikacje dla graficznego środowiska Windows............................................ 63 Zasady programowania zdarzeniowego dla Windows — wprowadzenie......................... 67 Rozbudowa głównej funkcji WinMain() ...................................................i..................................67 Konstrukcja głównej funkcji obsługującej komunikaty...................................................i.................69 Obsługa komunikatu WM_PAINT ...................................................i...........................................71 Pętla pobierania komunikatów o zdarzeniach od Windows...................................................i......72 Przykładowy, prosty kod aplikacji zdarzeniowej...................................................i......................73 Podsumowanie...................................................t...................................................t.............89 4 MS Visual C++. Ćwiczenia Rozdział 7. Stosowanie biblioteki klas MFC w Visual C++...................................................n...................... 91 Wprowadzenie: dlaczego i w jaki sposób trzeba modyfikowatć kody generowane przez kreator Visual C++? ...................................................t...................... 93 Klasa „Dokument” a operacje plikowe ...................................................i.....................................93 Podsumowanie...................................................t...................................................t.............97 Rozdział 8. VisualStudio.NET — ćwiczenia wprowadzające ...................................................n..................... 99 Podsumowanie...................................................t...................................................t........... 104 Rozdział 9. Tworzymy aplikacje w środowisku VisualStudio.NET w C# i w C++.......................... 105 Podsumowanie...................................................t...................................................t........... 111 Rozdział 10. Konstruowanie wizualnych komponentów sterujących w VisualStudio.NET....... 113 Podsumowanie...................................................t...................................................t........... 120 ........................ 121 Zakończenie ...................................................n...................................................n.............. I co dalej?...................................................t...................................................t................... 121 Rozdział 5. Szablony i obsługa wyjątków Podobnie jak w przypadku bibliotek klas (MFC, OWL, itp.) i bibliotek komponentów wizualnych (np. VCL), producenci kompilatorów C++ często dodają do IDE biblioteki szablonów (templates). W Visual C++ jest to bibliotekaa ATL (Active Template Library), popularną i szeroko dostępną wersją jest STL (Standard Templates Library). Te dość złożone zagadnienia wymagają przed przystąpieniem do ćwiczeń krótkiego wyjaśnienia i wprowadzenia. Wprowadzenie Wykorzystanie szablonów i obsługa sytuacji wyjątkowych EH (Exception Handling) to kolejne dwa elementy, które silnie wpływają na styl programowania i praktyczny spo- sób konstruowania aplikacji Visual C++. Zrozumienie tych zagadnień jest niezbędne do świadomego i umiejętnego korzystania z możliwości Visual C++. Mechanizmy te najła- twiej wyjaśnić i zademonstrować w najprostszych aplikacjach, dlatego to ostatni rozdział, w którym będziemy się jeszcze posługiwać znakowymi aplikacjami konsoli. W następnych rozdziałach, posiadając już w spory zasób wiedzy, umiejętności i praktycznych doświad- czeń w pracy z Visual C++, wykorzystamy to wszystko, by nasze aplikacje umiejętnie wykorzystywały możliwości środowiska Windows. Obsługa sytuacji wyjątkowych w C++ W C++ wyjątek lub sytuacja wyjątkowa to w istocie obiekt, który jest przekazywany (przy okazji wraz z pewnymi informacjami) z tego obszaru w kodzie, gdzie wystąpił problem do tego obszaru w kodzie, który zajmuje się „pokojowym rozwiązaniem” tego 56 MS Visual C++. Ćwiczenia problemu. Określenie „pokojowe rozwiązanie” oznacza tu przemyślaną obsługę sytuacji konfliktowej typu: brak pamięci operacyjnej, nie istnieje potrzebny plik dyskowy, próba dzielenia przez zero, itp., która w normalnych warunkach mogłaby spowodować prze- rwanie działania programu i, co groźniejsze, często utratę danych trudnych do odzyskania i odtworzenia. Rodzaj wyrażenia (obiektu — wyjątku) może decydować o tym, która część kodu podejmie próbę rozwiązania konfliktowej sytuacji. Zawartość tak „przerzucanego obiektu-wyjątku” (ang. throw-n object) może decydować o sposobie powrotu do dalszej pracy aplikacji i o sposobie informowania użytkownika o wystąpieniu i obsłudze sytuacji wyjątkowej. Podstawowe zasady logiki obsługi wyjątków sprowadzają saię do następujących działań: 1. Zidentyfikowanie tych fragmentów kodu, które potencjalniea mogą spowodować wystąpienie sytuacji wyjątkowej i ujęcie ich w bloki typau try (spróbuj). VT[ ] -QFCYKGTCLCE[T[[MQYPGQRGTCELG  _ 2. Utworzenie bloków obsługi (dosł.: catch — przechwyć) przewidywanych, możliwych sytuacji wyjątkowych. ECVEJ 1WV1H/GOQT[ ] EQUTQDKO[D[WTCVQYCèCRNKMCELú  _ ECVEJ (KNG0QV(QWPF ] TQDKO[EQUKPPGIQ  _ KVF Z technicznego punktu widzenia bloki ECVEJ powinny w kodzie występować bezpo- średnio po bloku VT[. Sterowanie zostanie przekazane do bloku ECVEJ tylko wtedy, gdy przewidywana sytuacja wyjątkowa rzeczywiście wystąpi. Przykładowy kod pokazany poniżej ilustruje praktyczne zastosowanie najprostszego, „pustego” obiektu-wyjątku przeznaczonego do obsługi typowej sytuacji konfliktowej — próby zapisania do macierzy elementu, dla którego nie ma przewidzianego miejsca (spoza dopuszczalnego zakresu indeksu-offsetu), co może w praktyce zagrażać przerwaniem pra- cy aplikacji i utratą danych. Listing 5.1 i rysunek 5.1 przedstawiają prosty przykład ob- sługi wyjątku. Listing 5.1. Obsługa wyjątku — ExHandle1.CPP KPENWFGKQUVTGCOJ EQPUVKPV GHCWNV5KG ENCUU C WQ]_FGHKPKELCMNCU[FNCQDKGMVWY[LCVMW ENCUU#TTC[ ] RTKXCVG KPV 2QKPVGT CPGRT[YCVPG Rozdział 5. (cid:1) Szablony i obsługa wyjątków 57 Rysunek 5.1. Obsługa sytuacji wyjątkowej w działaniu. Aplikacja konsoli Visual C++ o nazwie projektu ExHandle1 KPVTQOKCTYUMCPKMKTQOKCTOCEKGT[ RWDNKE #TTC[ KPVTQOKCT GHCWNV5KG  YCMQPUVTWMVQT[ #TTC[ EQPUV#TTC[/CEKGT  `#TTC[ ]FGNGVG=?2QKPVGT_ #TTC[QRGTCVQT EQPUV#TTC[ 2TGEKCQPGQRGTCVQT[ KPVQRGTCVQT=? KPVQHH5GV  EQPUVKPVQRGTCVQT=? KPVQHH5GV EQPUV KPV2QFCL4QOKCT EQPUV]TGVWTPTQOKCT_ Y[MNCOGVQFC HTKGPFQUVTGCOQRGTCVQT QUVTGCOEQPUV#TTC[  _ #TTC[#TTC[ KPVUKG TQOKCT UKG ] 2QKPVGTPGYKPV=UKG? HQT KPVKKUKGK 2QKPVGT=K? _ #TTC[#TTC[QRGTCVQT EQPUV#TTC[/CEKGT ] KH VJKU/CEKGT TGVWTP VJKU FGNGVG=?2QKPVGT TQOKCT/CEKGT2QFCL4QOKCT  2QKPVGTPGYKPV=TQOKCT? HQT KPVKKTQOKCTK 2QKPVGT=K?/CEKGT=K? TGVWTP VJKU _ #TTC[#TTC[ EQPUV#TTC[/CEKGT ] TQOKCT/CEKGT2QFCL4QOKCT  2QKPVGTPGYKPV=TQOKCT? HQT KPVKKTQOKCTK 2QKPVGT=K?/CEKGT=K? _ KPV#TTC[QRGTCVQT=? KPVQHH5GV ] KPVUKG2QFCL4QOKCT  KH QHH5GV QHH5GV2QFCL4QOKCT TGVWTP2QKPVGT=QHH5GV? GNUG ] VJTQY C WQ TWECP[QDKGMVY[LCVGM TGVWTP2QKPVGT=QHH5GV? _ 58 MS Visual C++. Ćwiczenia _ EQPUVKPV#TTC[QRGTCVQT=? KPVQHH5GV EQPUV ] KPVO[UKG2QFCL4QOKCT  KH QHH5GV QHH5GV2QFCL4QOKCT TGVWTP2QKPVGT=QHH5GV? VJTQY C WQ  TGVWTP2QKPVGT=QHH5GV? _ QUVTGCOQRGTCVQT QUVTGCOQWVRWVEQPUV#TTC[VJG#TTC[ ] HQT KPVKKVJG#TTC[2QFCL4QOKCT K QWVRWV=K?VJG#TTC[=K?GPFN TGVWTPQWVRWV _ KPVOCKP ] #TTC[KPV#TTC[   VT[ ] HQT KPVLLL ] KPV#TTC[=L?L EQWV7FCPG=L?LGPFN _ _ ECVEJ C WQ 2TGEJY[EGPKGQDKGMVWY[LCVMW ] EQWV1$5.7)#5;67# ,+9;,#6-19 , P _ EQWV2TQITCOOQGFKCNCEFCNGLGPFN EQWVFCNUGFKCNCPKGRTQITCOWGPFN TGVWTP _ To dobra okazja, by sprawdzić, jak na zakładce ClassView w panelu struktury projektu Visual C++ prezentowana jest hierarchia klas w przykładoawej aplikacji (rysunek 5.2). Rysunek 5.2. Hierarchia klas na zakładce ClassView w panelu struktury Visual C++ Powyższy przykładowy prosty kod przy okazji demonstruje przeciążanie operatorów przy użyciu metod oraz funkcji zewnętrznej kategorii friend. Rozdział 5. (cid:1) Szablony i obsługa wyjątków 59 Konstruowanie i stosowanie szablonów Szablony wymagają zastosowania słowa kluczowego C++ VGORNCVG. Szablony można stosować w odniesieniu do funkcji. Oto prosty przykład parametryzacji algorytmu sor- towania bąbelkowego przy użyciu szablonu VGORNCVGENCUU8 XQKF8GEVQT$WDNG5QTV 8YGMVQT=?KPVTQOKCT dla jednowymiarowej macierzy (wektora) stanowiącej argument funkcji sortującej. Listing 5.2. Konstrukcja i zastosowanie prostego szablonu: TemplateDeymo1.CPP 6GRNCVG GOQōUCDNQPW[V[PCNKUEKGCTIWOGPVÎYHWPMELK KPENWFGKQUVTGCOJ VGORNCVGENCUU8 XQKF8GEVQT$WDNG5QTV 8YGMVQT=?KPVTQOKCT ] HQT KPVKK TQOKCT K HQT KPVL TQOKCT KLL KH YGMVQT=L? YGMVQT=L? ] 8V[OECUQYCYGMVQT=L? YGMVQT=L?YGMVQT=L? YGMVQT=L?V[OECUQYC _ _ OCKP ] KPV0WOGTMK=?]_ EJCT.KVGTMK=?] F  #  V   C _ 8GEVQT$WDNG5QTV 0WOGTMKUKGQH 0WOGTMK UKGQH 0WOGTMK=?  8GEVQT$WDNG5QTV .KVGTMKUKGQH .KVGTMK UKGQH .KVGTMK=?  HQT KPVKKUKGQH 0WOGTMK UKGQH 0WOGTMK=? K EQWV0WO=K?0WOGTMK=K?GPFN HQT KKUKGQH .KVGTMK UKGQH .KVGTMK=? K EQWV.KV=K?.KVGTMK=K?GPFN TGVWTP _ Szablony zastosowane w odniesieniu do klas powodują utworzenie rodziny klas. Kom- pilator może następnie wygenerować samodzielnie nową klasę na podstawie zadanego szablonu. A oto prosty przykład kolejkowania z zastosowaniem szablonu wobec własnej klasy $7(14. Listing 5.3. Drugi szablon: TemplateDemo2.CPP KPENWFGKQUVTGCOJ EQPUV GHCWNV5KG VGORNCVGENCUU- ENCUU$7(14 ] 60 MS Visual C++. Ćwiczenia RWDNKE $7(14 KPV4QOKCT GHCWNV5KG ].KEPKM2QKPVGTPGY-=4QOKCT?_ `$7(14 ]FGNGVG=?2QKPVGT_ XQKF Q$WHQTC -OKGPPC  - $WHQTC  RTQVGEVGF KPV.KEPKM - 2QKPVGT _ VGORNCVGENCUU- XQKF$7(14-  Q$WHQTC -UCDNQP ] 2QKPVGT=.KEPKM ?UCDNQP _ VGORNCVGENCUU- -$7(14-  $WHQTC XQKF ] TGVWTP2QKPVGT=.KEPKM? _ OCKP ] $7(14KPV $   $ Q$WHQTC   $ Q$WHQTC   $ Q$WHQTC   EQWV$ $WHQTC   $ $WHQTC   $ $WHQTC GPFN $7(14FQWDNG      Q$WHQTC     Q$WHQTC     Q$WHQTC   EQWV  $WHQTC     $WHQTC     $WHQTC GPFN TGVWTP _ Przy okazji przykład ilustruje zastosowanie operatorów new i delete. Bufory tworzone z użyciem szablonu K mogą mieć różną wielkość i zawierać elementy różnych typów. Ta „typologiczna” elastyczność powoduje, że szablony są często stosowane w praktyce do tworzenia klas i obiektów -pojemników (ang. container classes). Ćwiczenie 5.1. Stan wyjściowy: poprzedni projekt zamknięty. Aby przetestować działanie obsługi wyjątków, należy wykonać kolejno wyszczególnione poniżej czynności. 1. Otwieramy nowy projekt aplikacji konsoli ExHandle1. 2. Wprowadzamy kod przykładu pierwszego do pliku ExHandle.CPP z listingu 5.1. Rozdział 5. (cid:1) Szablony i obsługa wyjątków 61 3. Uruchamiamy i sprawdzamy poprawność działania aplikacji.a 4. Zamykamy projekt poleceniem File/Close Workspace. Ćwiczenie 5.2. Stan wyjściowy: poprzedni projekt zamknięty (stan wyjściaowy IDE). Aby przetestować działanie obsługi szablonów, należy wykonać kolejno wyszczególnio- ne poniżej czynności. 1. Otwieramy nowy projekt aplikacji konsoli TemplateDemo1. 2. Wprowadzamy kod przykładowy do pliku TemplateDemo1.CPP z listingu 5.2. 3. Uruchamiamy i sprawdzamy poprawność działania aplikacji a(rysunek 5.3). Rysunek 5.3. Sortowanie z zastosowaniem szablonu class V 4. Zamykamy projekt poleceniem File/Close Workspace. Ćwiczenie 5.3. Stan wyjściowy: poprzedni projekt zamknięty (stan wyjściaowy IDE). Aby przetestować działanie kolejnego (drugiego) wariantu obsługi szablonów, należy wykonać kolejno wyszczególnione poniżej czynności. 1. Otwieramy nowy projekt aplikacji konsoli TemplateDemo2. 2. Wprowadzamy kod przykładowy do pliku TemplateDemo2.CPP z listingu 5.3. 3. Uruchamiamy i sprawdzamy poprawność działania aplikacji a(rysunek 5.4). Rysunek 5.4. Bufor z zastosowaniem szablonów w działaniu 4. Zamykamy bieżący projekt poleceniem File/Close Workspace. 62 MS Visual C++. Ćwiczenia Podsumowanie W ćwiczeniach z tego rozdziału prześledziliśmy ogólne zasady konstrukcji kodów, działanie prostych aplikacji konsoli wykorzystujących obsługę sytuacji wyjątkowych za pomocą obiektów i proste szablony użyte w odniesieniu do funakcji i klas.
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

MS Visual C++. Ćwiczenia
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: