Spis treœci trzech tomów
|
|
- Teodor Zalewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 III Spis treœci trzech tomów Tom 1 0 Proszê nie czytaæ tego! ZaprzyjaŸnijmy siê! Startujemy! Pierwszy program Drugi program Æwiczenia Instrukcje steruj¹ce Prawda Fa³sz, czyli o warunkach Wyra enie logiczne Zmienna logiczna bool w roli warunku Stare dobre sposoby z dawnego C Instrukcja warunkowa if Pêtla while Pêtla do...while Pêtla for Instrukcja switch Co wybraæ: switch czy if...else? Instrukcja break Instrukcja goto Instrukcja continue Klamry w instrukcjach steruj¹cych Æwiczenia Typy Deklaracje typu Systematyka typów z jêzyka C Typy fundamentalne Typy przeznaczone do pracy z liczbami ca³kowitymi Typy do przechowywania znaków alfanumerycznych Typy reprezentuj¹ce liczby zmiennoprzecinkowe bool typ do reprezentacji obiektów logicznych Kwestia dok³adnoœci...49
2 IV Jak poznaæ limity (ograniczenia) typów wbudowanych Typy o precyzyjnie ¹danej szerokoœci InicjaLIZacja, czyli nadanie wartoœci w momencie narodzin Definiowanie obiektów w biegu Sta³e dos³owne Sta³e dos³owne typu bool Sta³e bêd¹ce liczbami ca³kowitymi Sta³e reprezentuj¹ce liczby zmiennoprzecinkowe Sta³a dos³owna nullptr dla wskaÿników Sta³e znakowe Sta³e tekstowe, napisy, albo po prostu stringi Surowe sta³e tekstowe (napisy, stringi) Typy z³o one Typ void Zakres wa noœci nazwy obiektu, a czas ycia obiektu Zakres: lokalny Zakres instrukcji Zakres: blok funkcji Zakres: obszar pliku Zakres: obszar klasy Zakres okreœlony przez przestrzeñ nazw Zas³anianie nazw Specyfikator (przydomek) const Specyfikator (przydomek) constexpr Obiekty register Specyfikator volatile Dodatkowa nazwa typu za pomoc¹ using oraz typedef Typy wyliczeniowe enum Dawne zwyk³e enum, a nowe zakresowe enum class Kilka uwag dla wtajemniczonych S³owo kluczowe auto czyli automatyczne rozpoznawanie typu definiowanego obiektu decltype operator okreœlania typu zadanego wyra enia Inicjalizacja z pust¹ klamr¹ { } czyli wartoœci¹ domnieman¹ Przydomek alignas adresy równe i równiejsze Æwiczenia Ope ra tory Operatory arytmetyczne Ope ra to r %, czyli reszta z dzielenia (modulo) Jednoargumentowe ope ra tory + i Ope ra tory inkrementacji i dekrementacji Ope ra to r przypisania = Operatory logiczne Operatory relacji Ope ra tory sumy logicznej oraz iloczynu logicznego && Wykrzyknik! czyli ope ra to r negacji Operatory bitowe Przesuniêcie w lewo << Przesuniêcie w prawo >> Bitowe ope ra tory sumy, iloczynu, negacji, ró nicy symetrycznej Ró nica miêdzy operatorami logicznymi, a operatorami bitowymi Pozosta³e operatory przypisania Operator uzyskiwania adresu (operator &) Wyra enie warunkowe Operator sizeof...136
3 4.9 Operator noexcept Deklaracja static_assert Operator alignof informuj¹cy o najkorzystniejszym wyrównaniu adresu Operatory rzutowania Rzutowanie wed³ug tradycyjnych (nie zalecanych) sposobów Rzutowanie za pomoc¹ nowych operatorów rzutowania Operator static_cast Operator const_cast Operator dynamic_cast Operator reinterpret_cast Operator: przecinek Priorytety operatorów ¹cznoœæ operatorów Æwiczenia Typ string i typ vector pierwsza wzmianka Typ std::string do pracy z tekstami Typ vector d³ugi rz¹d obiektów Zakresowe for Æwiczenia Funkcje Definicja funkcji i jej wywo³anie Deklaracja funkcji Funkcja czêsto wywo³uje inn¹ funkcjê Zwracanie przez funkcjê rezultatu Obie k t tworzony za pomoc¹ auto, a inicjalizowany rezultatem funkcji O zwracaniu (lub nie zwracaniu) rezultatu przez funkcjê main Nowy, alternatywny sposób deklaracji funkcji Stos Przesy³anie argumentów do funkcji przez wartoœæ Przesy³anie argumentów przez referencjê Po yteczne okreœlenia: L wartoœæ i R wartoœæ Referencje do l-wartoœci i referencje do r-wartoœci argumentami funkcji Który sposób przesy³ania argu men tu do funkcji wybraæ? Kiedy deklaracja funkcji nie jest konieczna? Argumenty domniemane Ciekawostki na temat argumentów domniemanych Nienazwany argument Funkcje inline (w linii) Przypomnienie o zakresie wa noœci nazw deklarowanych wewn¹trz funkcji Wybór zakresu wa noœci nazwy i czasu ycia obiektu Obiekty globalne Obiekty automatyczne Obiekty lokalne statyczne Funkcje w programie sk³adaj¹cym siê z kilku plików Nazwy statyczne globalne Funkcja zwracaj¹ca rezultat bêd¹cy referencj¹ l-wartoœci Funkcje rekurencyjne Funkcje biblioteczne Funkcje constexpr Wymogi, które musi spe³niaæ funkcja constexpr (w standardzie C++11) Przyk³ad poka zu j¹cy aspekty funkcji constexpr Argu men ty funkcji constexpr bêd¹ce referencjami Definiowanie referencji przy u yciu s³owa auto V
4 VI Gdy inicjalizatorem jest wywo³anie funkcji zwracaj¹cej referencjê Æwiczenia Preprocesor Dyrektywa pusta # Dyrektywa #define Dyrektywa #undef Makrodefinicje Sklejacz nazw argumentów, czyli operator ## Parametr aktualny makrodefinicji w postaci na tekstu Dyrektywy kompilacji warunkowej Dyrektywa #error Dyrektywa #line Wstawianie treœci innych plików w tekst kompilowanego w³aœnie pliku Dyrektywy zale ne od implementacji Nazwy predefiniowane Æwiczenia Tablice Co to jest tablica Elementy tablicy Inicjalizacja tablic Przekazywanie tablicy do funkcji Przyk³ad z tablic¹ elementów typu enum Tablice znakowe Æwiczenia Tablice wielowymiarowe Tablica tablic Przyk³ad programu pracuj¹cego z tablic¹ dwuwymiarow¹ Gdzie w pamiêci jest dany element tablicy Typ wyra eñ zwi¹zanych z tablic¹ wielowymiarow¹ Przesy³anie tablic wielowymiarowych do funkcji Æwiczenia Wektory wielowymiarowe Najpierw przypomnienie istotnych tu cech klasy vector Jak za pomoc¹ klasy vector budowaæ tablice wielowymiarowe Funkcja pokazuj¹ca zawartoœæ wektora dwuwymiarowego Definicja dwuwymiarowego wektora pustego Definicja wektora dwuwymiarowego z list¹ inicjalizatorów Wektor dwuwymiarowy o ¹danych rozmiarach, choæ bez inicjalizacji Zmiana rozmiarów wektora dwuwymiarowego funkcj¹ resize Zmiany rozmiaru wektora 2D funkcjami push_back, pop_back Zmniejszanie rozmiaru wektora dwuwymiarowego funkcj¹ pop_back Funkcje mog¹ce modyfikowaæ treœæ wektora 2D Wys³anie rzêdu wektora 2D do funkcji pracuj¹cej z wektorem 1D Ca³oœæ przyk³adu definiuj¹cego wektory dwuwymiarowe Po co s¹ dwuwymiarowe wektory nie-prostok¹tne? Wektory trójwymiarowe Sposoby definicji wektora 3D o ustalonych rozmiarach Nadawanie pustemu wektorowi 3D wymaganych rozmiarów Zmiana rozmiarów wektora 3D funkcjami resize Zmiana rozmiarów wektora 3D funkcjami push_back...348
5 10.17 Trójwymiarowe wektory 3D nie prostopad³oœcienne Æwiczenia WskaŸniki wiadomoœci wstêpne WskaŸniki mog¹ bardzo u³atwiæ ycie Definiowanie wskaÿników Praca ze wskaÿnikiem Definiowanie wskaÿnika z u yciem auto Wyra enie *wskaÿnik jest l wartoœci¹ Operator rzutowania reinterpret_cast, a wskaÿniki WskaŸniki typu void* Strza³ na oœlep WskaŸnik zawsze pokazuje na coœ WskaŸnik wolno porównaæ z adresem zero nullptr Æwiczenia Cztery domeny zastosowania wskaÿników Zastosowanie wskaÿników wobec tablic Æwiczenia z mechaniki ruchu wskaÿnika U ycie wskaÿnika w pracy z tablic¹ Arytmetyka wskaÿników Porównywanie wskaÿników Zastosowanie wskaÿników w argumentach funkcji Jeszcze raz o przesy³aniu tablic do funkcji Odbieranie tablicy jako wskaÿnika Argu men t formalny bêd¹cy wskaÿnikiem do obiektu const Zastosowanie wskaÿników przy dostêpie do konkretnych komórek pamiêci Rezerwacja obszarów pamiêci Ope ra tory new i de lete albo Oratorium Stworzenie Œwiata Operator new, a s³owo kluczowe auto Ini cja li za cja obiektu tworzonego ope ra torem new Operatorem new mo emy tak e tworzyæ obiekty sta³e Dynamiczna alokacja tablicy Tablice wielowymiarowe tworzone ope ra torem new Umiejscawiaj¹cy operator new Przychodzimy, odchodzimy cichuteñko, na Zapas pamiêci to nie jest studnia bez dna Nowy sposób powiadomienia: rzucenie wyj¹tku std::bad_alloc Funkcja set_new_han dler Æwiczenia WskaŸniki runda trzecia Sta³e wskaÿniki Sta³e wskaÿniki, a wskaÿniki do sta³ych Wierzch i g³êbia Definiowanie wskaÿnika z u yciem auto Sym bol zastêpczy auto, a opuszczanie gwiazdki przy definiowaniu wskaÿnika Sposoby ustawiania wskaÿników Parada k³amców, czyli o rzutowaniu const_cast Tablice wskaÿników Wariacje na temat C-stringów Argumenty z linii wywo³ania programu Æwiczenia VII
6 VIII 14 WskaŸniki do funkcji WskaŸnik, który mo e pokazywaæ na funkcjê Æwiczenia z definiowania wskaÿników do funkcji WskaŸnik do funkcji jako argument innej funkcji Tablica wskaÿników do funkcji U ycie deklaracji using i typedef w œwiecie wskaÿników Alias przydatny w argumencie funkcji Alias przydatny w defi ni cji tablicy wskaÿników do funkcji U ycie auto lub decltype do automatycznego rozpoznania potrzebnego typu Æwiczenia Prze³adowanie nazwy funkcji Co to znaczy: prze³adowanie Prze³adowanie od kuchni Jak mo emy prze³adowywaæ, a jak siê nie da? Czy prze³adowanie nazw funkcji jest technik¹ orientowan¹ obiektowo? Linkowanie z modu³ami z innych jêzyków Prze³adowanie, a zakres wa noœci deklaracji funkcji Rozwa ania o identycznoœci lub odmiennoœci typów argumentów Prze³adowanie, a typy z us ing lub typedef oraz typy enum Tablica, a wskaÿnik Pewne szczegó³y o tablicach wielowymiarowych Prze³adowanie, a referencja Identycznoœæ typów: T, const T, vol a tile T Prze³adowanie a typy: T*, vol a tile T*, const T* Prze³adowanie a typy: T&, vol a tile T&, const T& Adres funkcji prze³adowanej Zwrot rezultatu bêd¹cego adresem funkcji prze³adowanej Kulisy dopasowywania argumentów do funkcji prze³adowanych Etapy dopasowania Etap 1. Dopasowanie dok³adne Etap 1a. Dopasowanie dok³adne, ale z tzw. trywialn¹ konwersj¹ Etap 2. Dopasowanie z awansem (z promocj¹) Etap 3. Próba dopasowania za pomoc¹ konwersji standardowych Etap 4. Dopasowanie z u yciem konwersji zdefiniowanych przez u ytkownika Etap 5. Dopasowanie do funkcji z wielokropkiem WskaŸników nie dopasowuje siê inaczej ni dos³ownie Dopasowywanie wywo³añ z kilkoma argumentami Æwiczenia Klasy Typy definiowane przez u ytkownika Sk³adniki klasy Sk³adnik bêd¹cy obiektem Kapsu³owanie Ukrywanie informacji Klasa, a obiekt Wartoœci wstêpne w sk³adnikach nowych obiektów. Inicjalizacja w-klasie Funkcje sk³adowe Pos³ugiwanie siê funkcjami sk³adowymi Definiowanie funkcji sk³adowych Jak to w³aœciwie jest? (this) Odwo³anie siê do publicznych danych sk³adowych obiektu Zas³anianie nazw...527
7 Nie siêgaj z klasy do obiektów globalnych Prze³adowanie i zas³oniêcie równoczeœnie Nowa klasa? Osobny plik! Poznajmy praktyczn¹ realizacjê wielo-plikowego programu Zasada umieszczania dyrektywy us ing namespace w plikach Przesy³anie do funkcji argumentów bêd¹cych obiektami Przesy³anie obiektu przez wartoœæ Przesy³anie przez referencjê Konstruktor pierwsza wzmianka Destruktor pierwsza wzmianka Sk³adnik statyczny Do czego mo e siê przydaæ sk³adnik statyczny w klasie? Statyczna funkcja sk³adowa Dekla ra cja sk³adnika statycznego maj¹ca inicjalizacjê w-klasie Funkcje sk³adowe typu const oraz volatile Prze³adowanie, a funkcje sk³adowe const i volatile Struktura Klasa bêd¹ca agregatem. Klasa bez konstruktora Funkcje sk³adowe z przydomkiem constexpr Specyfikator mutable Bardziej rozbudowany przyk³ad zastosowania klasy Æwiczenia Tom 2 17 Biblioteczna klasa std::string Rozwi¹zanie przechowywania tekstów musia³o siê znaleÿæ Klasa std::string to przecie nasz stary znajomy Definiowanie obiektów klasy string U ycie operatorów =, +, +=, w pracy ze stringami Pojemnoœæ, rozmiar i d³ugoœæ stringu BliŸniacze funkcje size() i length() Funkcja sk³adowa empty Funkcja sk³adowa max_size Funkcja sk³adowa ca pac ity Funkcje sk³adowe re serve i shrink_to_fit resize zmiana d³ugoœci stringu na si³ê Funkcja sk³adowa clear U ycie operatora [ ] oraz funkcji at Dzia³anie operatora [ ] Dzia³anie funkcji sk³adowej at Przebieganie po wszystkich literach stringu zakresowym-for Funkcje sk³adowe front i back Jak umieœciæ w tekœcie liczbê? Jak wczytaæ liczbê ze stringu? Praca z fragmentem stringu, czyli z sub stringiem Funkcja sk³adowa substr Szukanie zadanego substringu w obiekcie klasy string funkcje find Szukanie rozpoczynane od koñca stringu Szukanie w stringu jednego ze znaków z zadanego zestawu Usuwanie znaków ze stringu erase i pop_back Wstawianie znaków do istniej¹cego stringu funkcje insert Zamiana czêœci znaków na inne znaki replace IX
8 X Zagl¹danie do wnêtrza obiektu klasy string funkcj¹ data Zawartoœæ obiektu klasy string, a C-string W porz¹dku alfabetycznym czyli porównywanie stringów Porównywanie stringów funkcjami com pare Porównywanie stringów przy u yciu operatorów ==,!=,<, >, <=, >= Zamiana treœci stringu na ma³e (lub wielkie) litery Kopiowanie treœci obiektu klasy string do wybranej tablicy znakowej funkcja copy Wzajemna zamiana treœci dwóch obiektów klasy string funkcja swap Wczytywanie z klawiatury d³ugiego stringu o nieznanej wczeœniej d³ugoœci getline Pu³apka czyli jak getline mo e Ciê zaskoczyæ Iteratory stringu Iterator do obiektu sta³ego Funkcje sk³adowe klasy string pracuj¹ce z iteratorami Klasa string korzysta z techniki przenoszenia Bryk czyli pamiêæ zewnêtrzna programisty Æwiczenia Deklaracje przyjaÿni Przyjaciele w yciu i w C Przyk³ad: dwie klasy deklaruj¹ przyjaÿñ z t¹ sam¹ funkcj¹ W przyjaÿni trzeba pamiêtaæ o kilku sprawach Obdarzenie przyjaÿni¹ funkcji sk³adowej innej klasy Klasy zaprzyjaÿnione Konwencja umieszczania deklaracji przyjaÿni w klasie Kilka trzeÿwych s³ów na zakoñczenie Æwiczenia Obs³uga sytuacji wyj¹tkowych Jak daæ znaæ, e coœ siê nie uda³o? Pierwszy prosty przyk³ad Kolejnoœæ bloków catch ma znaczenie Który blok catch nadaje siê do z³apania lec¹cego wyj¹tku? Bloki try mog¹ byæ zagnie d ane Obs³uga wyj¹tków w praktycznym programie Specyfikator noexcept i operator noexcept Æwiczenia Klasa-sk³adnik oraz klasa lokalna Klasa-sk³adnik, czyli gdy w klasie jest zagnie d ona definicja innej klasy Prawdziwy przyk³ad zagnie d enia definicji klasy Lokalna definicja klasy Lokalne nazwy typów Æwiczenia Konstruktory i destruktory Konstruktor Przyk³ad programu zawieraj¹cego klasê z konstruktorami Specyfikator (przydomek) explicit Kiedy i jak wywo³ywany jest konstruktor Konstruowanie obiektów lokalnych Konstruowanie obiektów globalnych Konstrukcja obiektów tworzonych ope ra torem new Jawne wywo³anie konstruktora Dalsze sytuacje, gdy pracuje konstruktor...779
9 21.4 Destruktor Jawne wywo³anie destruktora (ogromnie rzadka sytuacja) Nie rzucajcie wyj¹tków z destruktorów Konstruktor domniemany Funkcje sk³adowe z przypiskami = default i = delete Konstruktorowa lista inicjalizacyjna sk³adników klasy Dla wtajemniczonych: wyj¹tki rzucane z konstruktorowej listy inicjalizacyjnej Konstruktor deleguj¹cy Pomocnicza klasa std::initializer_list lista inicjalizatorów Zastosowania nie-konstruktorowe Konfuzja: lista inicjalizatorów, a lista inicjalizacyjna Konstruktor z argu men tem bêd¹cym klamrow¹ list¹ inicjalizatorów Konstrukcja obiektu, którego sk³adnikiem jest obiekt innej klasy Konstruktory nie-publiczne? Konstruktory constexpr mog¹ wytwarzaæ obiekty constexpr Æwiczenia Konstruktory: kopiuj¹cy i przenosz¹cy Konstruktor kopiuj¹cy (albo inicjalizator kopiuj¹cy) Przyk³ad klasy z konstruktorem kopiuj¹cym Kompilatorowi wolno pomin¹æ niepotrzebne kopiowanie Dlaczego przez referencjê? Konstruktor kopiuj¹cy gwarantuj¹cy nietykalnoœæ Wspó³odpowiedzialnoœæ Konstruktor kopiuj¹cy generowany automatycznie Kiedy konstruktor kopiuj¹cy powinniœmy zdefiniowaæ sami? Referencja r-wartoœci daje zezwolenie na recykling Funkcja std::move, która nie przenosi, a tylko rzutuje Odebrana r-wartoœæ staje siê w ciele funkcji l-wartoœci¹ Konstruktor przenosz¹cy (inicjalizator przenosz¹cy) Konstruktor przenosz¹cy generowany przez kom pi la tor Inne konstruktory generowane auto ma ty cz nie Zwrot obiektu lokalnego przez wartoœæ? Nie u ywamy przenoszenia! Tak zwana semantyka przenoszenia Nowe pojêcia dla ambitnych: gl-wartoœæ, x-wartoœæ, i pr-wartoœæ decltype operator rozpoznawania typu bardzo wyszukanych wyra eñ Æwiczenia Tablice obiektów Definiowanie i praca z nimi Tablica obiektów definiowana operatorem new Inicjalizacja tablic obiektów Ini cja li za cja tablic, której obiekty s¹ agregatami Inicjalizacja tablic, których elementy nie s¹ agregatami Wektory obiektów Wektor, którego elementami s¹ obiekty klasy bêd¹cej agregatem Wektor, którego elementami s¹ obiekty klasy nie bêd¹cej agregatem Æwiczenia WskaŸnik do sk³adników klasy WskaŸniki zwyk³e repetytorium WskaŸnik do pokazywania na sk³adnik-dan¹ Przyk³ad zastosowania wskaÿników do sk³adników klasy WskaŸnik do funkcji sk³adowej Przyk³ad zastosowania wskaÿników do funkcji sk³adowych XI
10 XII 24.4 Tablica wskaÿników do danych sk³adowych klasy Tablica wskaÿników do funkcji sk³adowych klasy Przyk³ad tablicy/wektora wskaÿników do funkcji sk³adowych WskaŸniki do sk³adników statycznych s¹ zwyk³e Æwiczenia Konwersje definiowane przez u ytkownika Sformu³owanie problemu Konstruktory konwertuj¹ce Kiedy jawnie, kiedy niejawnie Przyk³ad konwersji konstruktorem Funkcja konwertuj¹ca operator konwersji Na co funkcja konwertuj¹ca zamieniaæ nie mo e Który wariant konwersji wybraæ? Sytuacje, w których zachodzi konwersja Zapis jawnego wywo³ania konwersji typów Advocatus zapisu przypominaj¹cego: wywo³anie funkcji Advocatus zapisu: rzutowanie Nie ca³kiem pasuj¹ce argumenty, czyli konwersje kompilatora przy dopasowaniu Kilka rad dotycz¹cych konwersji Æwiczenia Prze³adowanie operatorów Co to znaczy prze³adowaæ operator? Prze³adowanie operatorów definicja i trochê teorii Moje zabawki Funkcja operatorowa jako funkcja sk³adowa Funkcja operatorowa nie musi byæ przyjacielem klasy Operatory predefiniowane Ile operandów ma mieæ ten operator? Operatory jednooperandowe Operatory dwuoperandowe Przyk³ad na prze³adowanie ope ra tora dwuoperandowego Przemiennoœæ Choæ ope ra tory inne, to nazwê maj¹ tê sam¹ Przyk³ad zupe³nie nie matematyczny Operatory post inkrementacji i post dekrementacji koniec z niesprawiedliwoœci¹ Rady praktyczne dotycz¹ce prze³adowania Pojedynek: Operator jako funkcja sk³adowa, czy globalna? Zas³ona spada, czyli tajemnica operatora << Sta³e dos³owne definiowane przez u ytkownika Przyk³ad: sta³e dos³owne u ytkownika odbierane jako gotowane Przyk³ad: sta³e dos³owne u ytkownika odbierane na surowo Æwiczenia Prze³adowanie: = [ ] ( ) > Cztery operatory, które musz¹ byæ niestatycznymi funkcjami sk³adowymi Operator przypisania= (wersja kopiuj¹ca) Przyk³ad na prze³adowanie (kopiuj¹cego) ope ra tora przypisania Przypisanie kaskadowe Po co i jak zabezpieczamy siê przed przypisaniem a = a Jak koniecznoœæ istnienia ope ra tora przypisania opowiedzieæ potocznie? Kiedy kopiuj¹cy ope ra to r przypisania nie jest generowany auto ma ty cz nie Przenosz¹cy operator przypisania= Specjalne funkcje sk³adowe i nierealna prosta zasada
11 XIII 27.5 Operator [ ] Operator ( ) Operator > Sprytny wskaÿnik wykorzystuje prze³adowanie w³aœnie tego ope ra tora Æwiczenia Tom 3 28 Prze³adowanie operatorów new, de lete na u ytek klasy Po co prze³adowujemy operatory new, new[ ] Funkcja operator new i operator new[ ] w klasie K Jak siê deklaruje operatory new, delete w klasie? Przyk³adowy program z prze³adowanymi new i delete Gdy dopuszczamy rzucanie wyj¹tku std::bad_alloc Po staremu nadal mo na Rezerwacja tablicy obiektów naszej klasy Twektorek Nasze w³asne argu men ty wys³ane do ope ra tora new Ope ra tory new i de lete odziedziczone do klasy pochodnej A jednak polimorfizm jest mo liwy Tworzenie i likwidowanie tablicy obiektów kasy pochodnej Ope ra tory new, które nie rzuc¹ wyj¹tku std::bad_alloc Rzut oka wstecz na prze³adowanie operatorów Æwiczenia Unie, Pola bitowe Unia Unia anonimowa Klasa uniopodobna (unia z metryczk¹) Gdy sk³adnik unii jest obiektem jakiejœ klasy Unia o sk³adnikach maj¹cych swe konstruktory, destruktory itp Pola bitowe Unia i pola bitowe upraszczaj¹ deszyfrowanie s³ów danych Æwiczenia Wyra enia lambda, wys³anie kodu do innych funkcji Preludium: Dwa sposoby przes³ania kryterium oceniania Sposób I: Kryterium przekazane wskaÿnikiem do funkcji (orzekaj¹cej) Sposób II: Kryterium umieszczone w obiekcie funkcyjnym Kryterium oceny z parametrem (czyli o wy szoœci funktorów) Funkcja-algorytm biblioteczny std::count_if Co lepsze: funkcja orzekaj¹ca czy orzekaj¹cy obie k t funkcyjny? Wyra enie lambda Formy wyra enia lambda Lista argumentów (formalnych) Cia³o wyra enia lambda Typ rezultatu Lista wychwytywania S³owo kluczowe mu ta ble w wyra eniu lambda Specyfikacja dotycz¹ca wyj¹tków rzucanych z wyra enia lambda Wyra enie lambda zastosowane w funkcji sk³adowej Tworzenie (nazwanych) obiektów lambda s³owem auto Tworzenie obiektów na lambdy s³owem kluczowym auto
12 XIV Tworzenie (nazwanych) obiektów lambda sza b lo nem std::func tion Stowarzyszenie martwych referencji Rekurencja przy u yciu wyra enia lambda Wyra enie lambda jako domniemana wartoœæ argumentu Rzucanie wyj¹tków z wyra enia lambda Vivat lambda! Æwiczenia Dzie dzi cze nie klas Istota dziedziczenia Dostêp do sk³adników Prywatne sk³adniki klasy podstawowej Nieprywatne sk³adniki klasy podstawowej Klasa pochodna te decyduje Deklaracja dostêpu us ing czyli udostêpnianie wybiórcze Czego siê nie dziedziczy Nie dziedziczenie konstruktorów Nie dziedziczenie operatora przypisania Nie dziedziczenie destruktora Drzewo genealogiczne Dziedziczenie doskona³e narzêdzie programowania Kolejnoœæ wywo³ywania konstruktorów Przypisanie i inicjalizacja obiektów w warunkach dziedziczenia Klasa pochodna nie definiuje swojego kopiuj¹cego ope ra tora przypisania Klasa pochodna nie definiuje swojego konstruktora kopiuj¹cego Ini cja li za cja i przypisywanie wg obiektu bêd¹cego const Przyk³ad: konstruktor kopiuj¹cy i operator przypisania dla klasy pochodnej Jak zainstalowaæ mechanizm kopiowania w klasie pochodnej Jak w klasie pochodnej zainstalowaæ mechanizm przenoszenia Dziedziczenie od kilku rodziców (wielodziedziczenie) Konstruktor klasy pochodnej przy wielodziedziczeniu Ryzyko wieloznacznoœci przy wielodziedziczeniu Czy bli sze pokrewieñstwo usuwa wieloznacznoœæ? Poszlaki Sposób na odziedziczenie konstruktorów Pojedynek: Dziedziczenie klasy, contra zawieranie obiektów sk³adowych Wspania³e konwersje standardowe przy dziedziczeniu Pan orama korzyœci Czego robiæ siê nie op³aca Tuzin samochodów nie jest rodzajem tuzina pojazdów Konwersje standardowe wskaÿnika do sk³adnika klasy Wirtualne klasy podstawowe Publiczne i prywatne dzie dzi cze nie tej samej klasy wirtualnej Uwagi o konstrukcji i inicjalizacji w przy pa d ku klas wirtualnych Dominacja klas wirtualnych Æwiczenia Wirtualne funkcje sk³adowe Wirtualny znaczy: (teoretycznie) mo liwy Polimorfizm Typy rezultatów ró nych realizacji funkcji wirtualnej Zamiast odpowiedni typ rezultatu kom pi la tor powie kowariant Dalsze cechy funkcji wirtualnej Wczesne i póÿne wi¹zanie Kiedy dla wywo³añ funkcji wirtualnych, mimo wszystko, zachodzi wczesne wi¹zanie? Kulisy bia³ej magii, czyli: Jak to jest zrobione?
13 32.8 Funkcja wirtualna, a mimo to inline Destruktor? to najlepiej wirtualny! Pojedynek funkcje prze³adowane, zas³aniaj¹ce siê contra wirtualne (zacieraj¹ce siê) Kontekstowe s³owa kluczowe override i final Przyk³ad u ycia s³ów kluczowych over ride, fi nal, a tak e wirtualnych destruktorów Klasy abstrakcyjne Wprawdzie konstruktor nie mo e byæ wirtualny, ale Rzutowanie dynamic_cast jest dla typów polimorficznych POD czyli Pospolite Stare Dane Wszystko co najwa niejsze Finis coronat opus Æwiczenia Operacje Wejœcia/Wyjœcia podstawy Biblioteka iostream Strumieñ Strumienie zdefiniowane standardowo Operatory >> i << Domniemania w pracy strumieni zdefiniowanych standardowo Uwaga na priorytet Operatory << oraz >> definiowane przez u ytkownika Operatorów wstawiania i wyjmowania ze strumienia siê nie dziedziczy Ope ra tory wstawiania i wyjmowania nie mog¹ byæ wirtualne. Niestety Sterowanie formatem Flagi stanu formatowania Znaczenie poszczególnych flag sterowania formatem Sposoby zmiany trybu (regu³) formatowania Manipulatory Ma nip u la tory bezargumentowe Ma nip u la tory maj¹ce argu men ty Ma nip u la tor setw(int) Ma nip u la tor setfill Ma nip u la tor setprecision(int ) Ma nip u la tor std::setbase(int) Manpipulatory setiosflags, resetiosflags Tabele z zestawieniem manipulatorów Definiowanie swoich manipulatorów Ma nip u la tor jako funkcja Definiowanie manipulatora z argu men tem Zmiana sposobu formatowania funkcjami setf, unsetf Dodatkowe funkcje do zmiany parametrów formatowania Funkcja width Funkcja sk³adowa fill Funkcja precision Funkcja copyfmt Nieformatowane operacje wejœcia/wyjœcia Omówienie funkcji wyjmuj¹cych ze strumienia Funkcje do pracy ze znakami i napisami Wczytywanie binarne funkcja read Funkcja ig nore Po yteczne funkcje pomocnicze Funkcje wstawiaj¹ce do strumienia Æwiczenia XV
14 XVI 34 Operacje We/Wyj na plikach Strumienie p³yn¹ce do lub od plików Otwieranie i zamykanie strumienia B³êdy w trakcie pracy strumienia Flagi stanu b³êdu strumienia Funkcje do pracy na flagach b³êdu Kilka udogodnieñ dla sprawdzania poprawnoœci Ustawianie i kasowanie flag b³êdu strumienia Trzy plagi czyli gotowiec, jak radziæ sobie z b³êdami Przyk³ad programu pracuj¹cego na plikach Przyk³ad programu zapisuj¹cego dane tekstowo i binarnie Zapis w trybie tekstowym Odczyt z pliku tekstowego Zapis danych w plikach binarnych Odczyt danych z pliku binarnego Strumienie, a technika rzucania wyj¹tków Wybór miejsca czytania lub pisania w pliku Funkcje sk³adowe informuj¹ce o pozycji wskaÿników Wybrane funkcje sk³adowe do pozycjonowania wskaÿników Pozycjonowanie w przyk³adzie wiêkszego programu Tie harmonijna praca dwóch strumieni Æwiczenia Operacje We/Wy na stringach Strumieñ zapisuj¹cy do obiektu klasy string Przyk³ady ilustruj¹ce u ycie klasy ostringstream Strumieñ czytaj¹cy z obiektu klasy string Prosty przyk³ad u ycia strumienia istringstream Strumieñ istringstream, a wczytywanie parametrów-danych Wczytywanie argumentów wywo³ywania programu O enek: strumieñ stringstream czytaj¹cy i zapisuj¹cy do stringu Przyk³adowy pro gram pos³uguj¹cy siê klas¹ stringstream Æwiczenia Projektowanie programów orientowanych obiektowo Przegl¹d kilku technik programowania Programowanie liniowe (linearne) Programowanie proceduralne (czyli orientowane funkcyjnie ) Programowanie z ukrywaniem (zgrupowaniem) danych Programowanie obiektowe programowanie bazuj¹ce na obiektach Programowanie Obiektowo Orientowane (OO) O wy szoœci programowania obiektowo orientowanego nad Œwiêtami Wielkiej Nocy Obiektowo Orientowane: Projektowanie Praktyczne wskazówki dotycz¹ce projektowania programu technik¹ OO Rekonesans czyli rozpoznanie zagadnienia Faza projektowania Etap 1: Identyfikacja zachowañ systemu Etap 2: Identyfikacja obiektów (klas obiektów) Etap 3: Usystematyzowanie klas obiektów Etap 4: Okreœlenie wzajemnych zale noœci klas Etap 5: Sk³adanie modelu. Sekwencje dzia³añ obiektów i cykle yciowe Faza implementacji Przyk³ad projektowania Faza: Rozpoznanie naszego zagadnienia
15 XVII 36.8 Faza: Projektowanie Etap 1 Identyfikacja zachowañ naszego systemu Etap 2 Identyfikacja klas obiektów, z którymi mamy do czynienia Etap 3 Usystematyzowanie klas obiektów z wystêpuj¹cych w naszym systemie Etap 4 Okreœlamy wzajemne zale noœci klas Etap 5 Sk³adamy model naszego systemu Implementacja modelu naszego systemu Sza b lony Programowanie uogólnione Definiowanie szablonu klas Prosty program z szablonem klas Ostro nie z re fe ren cj¹ jako parametrem aktualnym Szablon do produkcji funkcji Cudów nie ma. Sorry Jak rozmieszczaæ w plikach szablony klas? Tylko dla or³ów Szablony klas, drugie starcie Co mo e byæ parametrem szablonu zwiastun Rozbudowany przyk³ad z szablonem klas Definiowanie funkcji sk³adowych szablonu klas Sk³adniki statyczne w sza b lonie klasy Obie k t klasy sza b lo no wej tworzony ope ra torem new Dyrektywa us ing sk³adnikiem szablonu klas Prze³adowany ope ra to r<< w sza b lonie klas Jawne wywo³anie destruktora klasy sza b lo no wej Regu³a SFINAE Kiedy kompilator siêga po nasz szablon klas? Co mo e byæ parametrem szablonu? szczegó³y Parametry domniemane Sza b lo n klas z domniemanymi parametrami Domniemane parametry w sza b lonie funkcji Zagnie d enie, a szablony Sza b lo n funkcji sk³adowych zagnie d ony w sza b lonie klasy Sza b lo n klasy zagnie d ony w zwyk³ej klasie Szablon klasy z zagnie d on¹ definicj¹ klasy Poradnik: Jak pisaæ deklaracje przyjaÿni w œwiecie szablonów Sza b lo n obdarza przyjaÿni¹ swój parametr U ytkownik sam mo e specjalizowaæ szablon klas Kompletna (zupe³na) specjalizacja szablonu klasy Czêœciowa specjalizacja szablonu klasy Czêœciowa specjalizacja szablonu pozwala wybraæ parametry bêd¹ce wskaÿnikami Specjalizacja funkcji sk³adowej szablonu klas Specjalizacja u ytkownika szablonu funkcji Æwiczenia Pos³owie Per C++ ad astra A Dodatek: Systemy liczenia A.1 Dlaczego komputer nie liczy tak jak my? A.2 System szesnastkowy (heksadecymalny) A.3 Æwiczenia
Spis treœci. 0 Proszê nie czytaæ tego!...1 1 Startujemy!...7 1.1 Pierwszy program...7 1.2 Drugi program...13 1.3 Æwiczenia...19
III 0 Proszê nie czytaæ tego!...1 1 Startujemy!...7 1.1 Pierwszy program...7 1.2 Drugi program...13 1.3 Æwiczenia...19 2 Instrukcje steruj¹ce...22 2.1 Prawda Fa³sz, czyli o warunkach...22 2.1.1 Wyra enie
Bardziej szczegółowoSymfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015.
Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015 Spis treści 0 Proszę nie czytać tego! 19 1 Startujemy! 24 1.1 Pierwszy program
Bardziej szczegółowoOpus Magnum C++11 : programowanie w języku C++. Tom 1 / Jerzy Grębosz. Gliwice, cop Spis treści
Opus Magnum C++11 : programowanie w języku C++. Tom 1 / Jerzy Grębosz. Gliwice, cop. 2018 Spis treści 0 Proszę tego nie czytać! 1 0.1 Zaprzyjaźnijmy się! 1 1 Startujemy! 8 1.1 Pierwszy program 8 1.2 Drugi
Bardziej szczegółowoOpus Magnum C++11 : programowanie w języku C++. T. 2 / Jerzy Grębosz. Gliwice, cop Spis treści
Opus Magnum C++11 : programowanie w języku C++. T. 2 / Jerzy Grębosz. Gliwice, cop. 2018 Spis treści 17 Biblioteczna klasa std::string 609 17.1 Rozwiązanie przechowywania tekstów musiało się znaleźć 609
Bardziej szczegółowoOpus Magnum C++11 : programowanie w języku C++. T. 3 / Jerzy Grębosz. Gliwice, cop Spis treści
Opus Magnum C++11 : programowanie w języku C++. T. 3 / Jerzy Grębosz. Gliwice, cop. 2018 Spis treści 28 Przeładowanie operatorów new i delete na użytek klasy 1061 28.1 Po co przeładowujemy operatory new
Bardziej szczegółowoSymfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 2 / Jerzy Grębosz. Wyd. 3 C popr. Kraków, 2015.
Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 2 / Jerzy Grębosz. Wyd. 3 C popr. Kraków, 2015 Spis treści 20 Struktury, Unie, Pola bitowe 613 20.1 Struktura 613 20.2 Unia
Bardziej szczegółowo0 Proszę nie czytać tego! 1 Startujemy! 2 Instrukcje sterujące. 3 Typy. 1.1 Pierwszy program 1.2 Drugi program 1.3 Ćwiczenia
0 Proszę nie czytać tego! 1 Startujemy! 1.1 Pierwszy program 1.2 Drugi program 1.3 Ćwiczenia 2 Instrukcje sterujące 2.1 Prawda. Fałsz, czyli o warunkach 2.1.1 Wyrażenie logiczne 2.1.2 Zmienne logiczne
Bardziej szczegółowoJedno C i same plusy!
"Opus magnum C++11. Programowanie w języku C++" - zestaw obejmuje 3 podręczniki. Jedno C i same plusy! Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany
Bardziej szczegółowoSpis treści 1. Wstęp 2. Projektowanie systemów informatycznych
Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.
Bardziej szczegółowoSpis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Bardziej szczegółowoCena szkolenia. Opis kursu
Kurs C++ Cena szkolenia Cena szkolenia wynosi 90 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu i ilości czasu, w którym realizuje zadania i projekty zlecone w ramach
Bardziej szczegółowoCzęść I Programowanie niskiego poziomu w języku C 19
Spis treści Przedmowa 13 Wstęp 15 Część I Programowanie niskiego poziomu w języku C 19 Wprowadzenie 21 1 Typy 23 1.1 Fundamentalne typy danych...................... 23 1.2 Typy pochodne.............................
Bardziej szczegółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Bardziej szczegółowoProgramowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
Bardziej szczegółowoC++. Æwiczenia zaawansowane
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRECI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG C++. Æwiczenia zaawansowane Autor: Andrzej Stasiewicz ISBN: 83-7361-766-3 Format: B5, stron: 120 TWÓJ KOSZYK
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoER RATA do ksi¹ ki "Symfonia C++ Stan dard". wydanie 3. (Zawieraj¹ca tak e czysto kosmetyczne poprawki) Sporz¹dzona 4 paÿdziernika 2009.
ER RATA do ksi¹ ki "Symfonia C++ Stan dard". wydanie 3. (Zawieraj¹ca tak e czysto kosmetyczne poprawki) Sporz¹dzona 4 paÿdziernika 2009. Strona wiersz G - od góry D - od do³u Jest Powinno byæ 1 6 D nadzieje
Bardziej szczegółowoROZDZIAŁ 2. Operatory
Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]
Bardziej szczegółowoPROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec
PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25
Bardziej szczegółowoSpis treści. Wprowadzenie 15
Spis treści Wprowadzenie 15 1. Mechanizmy języka C++ 19 1.1. Struktura programu jednostki translacji.................. 21 1.1.1. Składnia tekstu źródłowego...................... 22 1.1.2. Preprocesor...
Bardziej szczegółowoJeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bardziej szczegółowoPRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc
PRAWA ZACHOWANIA Podstawowe terminy Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc a) si wewn trznych - si dzia aj cych na dane cia o ze strony innych
Bardziej szczegółowoJęzyki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
Bardziej szczegółowoIMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Bardziej szczegółowoJęzyk C++ wykład VIII
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Bardziej szczegółowoParadygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Bardziej szczegółowoDziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.
Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania
Bardziej szczegółowoInstrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do pracowni specjalistycznej z przedmiotu Obiektowe programowanie aplikacji Kod przedmiotu: TS1C410201
Bardziej szczegółowoO autorze... 9 Wprowadzenie... 11
Spis tre ci O autorze... 9 Wprowadzenie... 11 Rozdzia 1. Sterownik przemys owy... 15 Sterownik S7-1200... 15 Budowa zewn trzna... 16 Budowa wewn trzna... 19 Cykl programu oraz tryby pracy... 21 Zestaw
Bardziej szczegółowoWykład 2. Budowa komputera. W teorii i w praktyce
Wykład 2 Budowa komputera W teorii i w praktyce Generacje komputerów 0 oparte o przekaźniki i elementy mechaniczne (np. Z3), 1 budowane na lampach elektronowych (np. XYZ), 2 budowane na tranzystorach (np.
Bardziej szczegółowoPROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu
Bardziej szczegółowo1. Podstawy budowania wyra e regularnych (Regex)
Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra
Bardziej szczegółowoOperatory na rzecz typu TString
Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t
Bardziej szczegółowoProjektowanie i programowanie obiektowe (materiały do wykładu cz. VI)
Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Dziedziczenie 221 Dziedziczenie Dziedziczenie
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoSTL: Lekcja 1&2. Filozofia STL
STL: Lekcja 1&2 Tematy: Filozofia STL Po co nam STL? Podstawowa zawartość STL Co warto znać zanim zaczniemy pracę z STL?: wskaźniki Praca na tekstach: klasa String Vector: nowy wymiar standardowych tablic.
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 14 1 / 9 Plan wykładu 1 Sesja egzaminacyjna
Bardziej szczegółowoTOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Bardziej szczegółowoWykład 5 Wybrane zagadnienia programowania w C++ (c.d.)
Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Kontenery - - wektor vector - - lista list - - kolejka queue - - stos stack Kontener asocjacyjny map 2016-01-08 Bazy danych-1 W5 1 Kontenery W programowaniu
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoProgramowanie (C++) NI 5
Forma kształcenia i sposób weryfikacji efektów kształcenia Efekty kształcenia WYDZIAŁ FIZYKI UwB kierunek studiów: FIZYKA specjalność: FIZYKA KOD USOS: 0900 FS1 2 PRO Karta przedmiotu Przedmiot moduł ECTS
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoInstrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski
Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoMATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
Bardziej szczegółowoJęzyk C++ Programowanie obiektowe
Język C++ Programowanie obiektowe Cechy programowania obiektowego abstrakcyjne typy danych hermetyczność obiektów (kapsułkowanie) dziedziczenie polimorfizm Programowanie proceduralne vs. programowanie
Bardziej szczegółowoInformatyka, I stopień. Programowanie (PRO300.1)
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Informatyka, I stopień Sylabus modułu: Programowanie (PRO0.1) Nazwa wariantu modułu (opcjonalnie): 1. Informacje ogólne koordynator modułu
Bardziej szczegółowoZmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Bardziej szczegółowo2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Bardziej szczegółowoWartości domyślne, szablony funkcji i klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoSzablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Bardziej szczegółowoJęzyki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Bardziej szczegółowoPodstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski
Bardziej szczegółowoPolitechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe
Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu obowiązuje w roku akademickim 01/013 Kierunek studiów: Informatyka Forma studiów: Stacjonarne Profil:
Bardziej szczegółowoWYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH
WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie
Bardziej szczegółowoPolitechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013
Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu obowiązuje studentów rozpoczynających studia w roku akademickim 01/013 Wydział Fizyki, Matematyki i Informatyki Kierunek studiów: Informatyka
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoMIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin 2013. Mojej Żonie Kasi
WYDAWNICTWO ATNEL MIKROKONTROLERY AVR JĘZYK C PODSTAWY PROGRAMOWANIA Miros aw Kardaś Szczecin 2013 Mojej Żonie Kasi Książka przeznaczona jest dla elektroników i hobbystów, którzy chcą szybko, opierając
Bardziej szczegółowo/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoInterfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
Bardziej szczegółowoSłowa kluczowe i nazwy
Materiał uzyskany ze strony: http://edu.pjwstk.edu.pl/wyklady/pro/scb/prg2cpp_files/node1.html Słowa kluczowe i nazwy Nazwy (identyfikatory) są wprowadzane do jednostki kompilacji (pliku wraz z innymi
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Bardziej szczegółowoNajlepsze źródło informacji o C++! Kompletny podręcznik do nauki C++!
Najlepsze źródło informacji o C++! Język C++, to starannie sprawdzony, sumiennie przygotowany i kompletny przewodnik po programowaniu w C++, przeznaczony dla programistów. Ten klasyczny już materiał pomocniczy
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowoC++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoAutomatyka. Etymologicznie automatyka pochodzi od grec.
Automatyka Etymologicznie automatyka pochodzi od grec. : samoczynny. Automatyka to: dyscyplina naukowa zajmująca się podstawami teoretycznymi, dział techniki zajmujący się praktyczną realizacją urządzeń
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template
Bardziej szczegółowoOpis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej
Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowoProgramowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43
Programowanie w C++ Wykład 6 Katarzyna Grzelak 1 kwietnia 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoEGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi
EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi 1. Napisz wskaźnik do funkcji fun tak zdeklarowanej: T* fun( int, double const& ) const; definicja wskaźnika musi być precyzyjna, inaczej
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoTemat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1
Temat: Funkcje. Własności ogólne A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Kody kolorów: pojęcie zwraca uwagę * materiał nieobowiązkowy A n n a R a
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoWszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przestrzenie nazw Standardowa biblioteka szablonów
Bardziej szczegółowoArkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu. Uk ad graficzny CKE 2010 KOD WPISUJE ZDAJ CY PESEL Miejsce na naklejk z kodem EGZAMIN MATURALNY
Bardziej szczegółowoFunctionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
Bardziej szczegółowopublic: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Bardziej szczegółowoDziedziczenie jednobazowe, poliformizm
Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie jednobazowe 2. Polimorfizm część pierwsza 3. Polimorfizm część druga Zofia Kruczkiewicz, ETE8305_6 1 Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie
Bardziej szczegółowoJęzyk programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści
Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Elementy algorytmiki C w środowisku.e (C#) dr inŝ. Grzegorz Zych Copernicanum, pok. 104 lub 206a 1 Minimum programowe reści kształcenia: Pojęcie algorytmu. Podstawowe konstrukcje
Bardziej szczegółowoJęzyki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 9 (20.01.2012) dr inż. Jarosław Forenc Rok
Bardziej szczegółowoAPI transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy
Bardziej szczegółowoRozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu
Rozdział 6 Pakowanie plecaka 6.1 Postawienie problemu Jak zauważyliśmy, szyfry oparte na rachunku macierzowym nie są przerażająco trudne do złamania. Zdecydowanie trudniejszy jest kryptosystem oparty na
Bardziej szczegółowoSystemy mikroprocesorowe - projekt
Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok 1. Wstępne założenia projektu Moje zadanie
Bardziej szczegółowoProgramowanie obiektowe w C++ Wykład 12
Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)
Bardziej szczegółowoIII. INTERPOLACJA Ogólne zadanie interpolacji. Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj.
III. INTERPOLACJA 3.1. Ogólne zadanie interpolacji Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj. Definicja 3.1. Zadanie interpolacji polega na okreœleniu parametrów tak, eby dla n +
Bardziej szczegółowoElementy cyfrowe i układy logiczne
Elementy cyfrowe i układy logiczne Wykład Legenda Zezwolenie Dekoder, koder Demultiplekser, multiplekser 2 Operacja zezwolenia Przykład: zamodelować podsystem elektroniczny samochodu do sterowania urządzeniami:
Bardziej szczegółowoWstęp do programowania obiektowego, wykład 7
Wstęp do programowania obiektowego, wykład 7 Klasy i funkcje abstrakcyjne Przeciążanie funkcji Definiowanie i interpretacja złożonych typów danych w C++ Wskaźniki do funkcji 1 KLASA ABSTRAKCYJNA 2 Klasa
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Bardziej szczegółowo