Spis treœci. 0 Proszê nie czytaæ tego! Startujemy! Pierwszy program Drugi program Æwiczenia...19

Wielkość: px
Rozpocząć pokaz od strony:

Download "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"

Transkrypt

1 III 0 Proszê nie czytaæ tego! Startujemy! Pierwszy program Drugi program Æwiczenia Instrukcje steruj¹ce Prawda Fa³sz, czyli o warunkach Wyra enie logiczne Zmienne logiczne bool jako warunek 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 typów Systematyka typów z jêzyka C Typy fundamentalne Definiowanie obiektów w biegu Sta³e dos³owne...58

2 IV Sta³e bêd¹ce liczbami ca³kowitymi Sta³e reprezentuj¹ce liczby zmiennoprzecinkowe Sta³e znakowe Sta³e tekstowe, napisy, albo po prostu stringi Typy z³o one Typ void Zakres wa noœci nazwy obiektu, a czas ycia obiektu Zakres: lokalny Zakres: blok funkcji Zakres: obszar pliku Zakres: obszar klasy Zakres okreœlony przez przestrzeñ nazw Zas³anianie nazw Specyfikator (przydomek) const Pojedynek: const con tra #define Obiekty register Specyfikator volatile Instrukcja typedef Typy wyliczeniowe enum Æwiczenia Operatory Operatory arytmetyczne Op er a tor %, czyli reszta z dzielenia (modulo) Jednoargumentowe operatory + i Operatory inkrementacji i dekrementacji Operator przypisania = Operatory logiczne Operatory relacji Operatory sumy logicznej i iloczynu logicznego && Wykrzyknik! czyli op er a tor negacji Operatory bitowe Przesuniêcie w lewo << Przesuniêcie w prawo >> Bitowe operatory sumy, iloczynu, negacji, ró nicy symetrycznej Ró nica miêdzy operatorami logicznymi, a operatorami bitowymi Pozosta³e operatory przypisania Wyra enie warunkowe Operator sizeof 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...121

3 V 4.9 Operator: przecinek Priorytety operatorów ¹cznoœæ operatorów Æwiczenia Funkcje Funkcja czêsto wywo³uje inn¹ funkcjê Zwracanie rezultatu przez funkcjê Stos Przesy³anie argumentów do funkcji przez wartoœæ Przesy³anie argumentów przez referencjê 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 Funkcje rekurencyjne Funkcje biblioteczne Æwiczenia Preprocesor Na pomoc rodakom Dyrektywa #define Dyrektywa #undef Makrodefinicje Sklejacz nazw, czyli operator ## Zamiana parametru aktualnego makrodefinicji na string Dyrektywy kompilacji warunkowej Dyrektywa #error Dyrektywa #line Wstawianie treœci innych plików w tekst kompilowanego w³aœnie pliku Dyrektywa pusta Dyrektywy zale ne od implementacji Nazwy predefiniowane Æwiczenia Tablice Elementy tablicy Inicjalizacja tablic Przekazywanie tablicy do funkcji...224

4 VI 7.4 Przyk³ad z tablic¹ elementów typu enum Tablice znakowe Tablice wielowymiarowe Typ wyra eñ zwi¹zanych z tablic¹ wielowymiarow¹ Przesy³anie tablic wielowymiarowych do funkcji Æwiczenia WskaŸniki WskaŸniki mog¹ bardzo u³atwiæ ycie Definiowanie wskaÿników Praca ze wskaÿnikiem L wartoœæ Operator rzutowania reinterpret_cast, a wskaÿniki WskaŸniki typu void 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 WskaŸnik mo na porównaæ z adresem Zastosowanie wskaÿników w argumentach funkcji Jeszcze raz o przesy³aniu tablic do funkcji Odbieranie tablicy jako wskaÿnika Ar gu ment 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 Operatory new i delete albo Oratorium Stworzenie Œwiata Dynamiczna alokacja tablicy Tablice wielowymiarowe tworzone operatorem new Umiejscawiaj¹cy operator new "Przychodzimy, odchodzimy cichuteñko, na..." Zapas pamiêci to nie jest studnia bez dna Funkcja set_new_handler Pojedynek: new con tra malloc Sta³e wskaÿniki Sta³e wskaÿniki, a wskaÿniki do sta³ych Strza³ na oœlep WskaŸnik zawsze pokazuje na coœ Sposoby ustawiania wskaÿników Parada k³amców, czyli o rzutowaniu const_cast Tablice wskaÿników Wariacje na temat C-stringów WskaŸniki do funkcji Æwiczenia z definiowania wskaÿników do funkcji WskaŸnik do funkcji jako ar gu ment innej funkcji Tablica wskaÿników do funkcji...358

5 VII 8.20 Argumenty z linii wywo³ania programu Æwiczenia Prze³adowanie nazwy funkcji Co to znaczy: prze³adowanie Bli sze szczegó³y prze³adowania Czy prze³adowanie nazw funkcji jest technik¹ obiektowo orientowan¹? 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 typedef i 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. Próba dopasowania z u yciem konwersji zdefiniowanych przez u ytkownika Etap 5. Próba dopasowania 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 Enkapsulacja Ukrywanie informacji Klasa, a obiekt 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 Zas³anianie nazw Nie siêgaj z klasy do obiektów globalnych...439

6 VIII Prze³adowanie i zas³oniêcie równoczeœnie Nowa klasa? Osobny plik! 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 Deklaracja sk³adnika statycznego po³¹czona z inicjalizacj¹ Statyczna funkcja sk³adowa Do czego mo e nam siê przydaæ sk³adnik statyczny w klasie? Funkcje sk³adowe typu const oraz volatile Prze³adowanie, a funkcje sk³adowe const i volatile Specyfikator mutable Æwiczenia Biblioteczna klasa std::string do operacji z tekstami Przyk³ad programu z u yciem klasy string Definiowanie obiektów klasy string U ycie operatorów =, +, +=, w pracy ze stringami Jak umieœciæ w tekœcie liczbê? Pojemnoœæ, rozmiar i d³ugoœæ stringu Funkcje size() i length() Funkcja sk³adowa empty Funkcja sk³adowa max_size Funkcja sk³adowa capacity Funkcja sk³adowa reserve 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 Praca z fragmentem stringu, czyli z sub stringiem Funkcja sk³adowa substr Szukanie zadanego substringu w obiekcie klasy string funkcja find i jej pokrewne Szukanie rozpoczynane od koñca stringu Szukanie w stringu jednego ze znaków z zadanego zestawu Usuwanie znaków ze stringu funkcje erase Wstawianie znaków do ju istniej¹cego stringu funkcje insert Zamiana czêœci znaków na inne znaki replace Zamiana zawartoœci obiektu klasy string na C-string Zagl¹danie do wnêtrza obiektu klasy string funkcj¹ data W porz¹dku alfabetycznym czyli porównywanie stringów Porównywanie stringów funkcjami compare Porównywanie stringów przy u yciu operatorów ==,!=, <, >, <=, >=...563

7 IX 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 Przypisanie do obiektu klasy string, funkcja assign Dopisywanie do koñca stringu za pomoc¹ funkcji append 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 Bryk czyli "pamiêæ zewnêtrzna" programisty Æwiczenia Deklaracje przyjaÿni Klasy zaprzyjaÿnione S³owo o zakresie Struktury, Unie, Pola bitowe Struktura Unia Inicjalizacja unii Unia anonimowa Pola bitowe Unia i pola bitowe upraszczaj¹ rozpakowanie s³ów Æwiczenia Klasa zagnie d ona lub lokalna Zagnie d ona definicja 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 operatorem new Jawne wywo³anie konstruktora Dalsze sytuacje, gdy pracuje konstruktor Destruktor Konstruktor domniemany Lista inicjalizacyjna konstruktora Konstrukcja obiektu, którego sk³adnikiem jest obiekt innej klasy...688

8 X 15.8 Konstruktory nie-publiczne? Konstruktor kopiuj¹cy (albo inicjalizator kopiuj¹cy) Przyk³ad klasy z konstruktorem kopiuj¹cym Dlaczego przez referencjê? Jak dostaæ pi¹tkê z C++? Konstruktor kopiuj¹cy gwarantuj¹cy nietykalnoœæ Wspó³odpowiedzialnoœæ Konstruktor kopiuj¹cy generowany automatycznie Kiedy konstruktor kopiuj¹cy jest niezbêdny? Æwiczenia Tablice obiektów Tablica obiektów definiowana operatorem new Inicjalizacja tablic obiektów Inicjalizacja tablic obiektów bêd¹cych agregatami Inicjalizacja tablic nie bêd¹cych agregatami Inicjalizacja tablic tworzonych w zapasie pamiêci Æ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 Zastosowanie wskaÿników do funkcji sk³adowych Tablica wskaÿników do danych sk³adowych klasy Tablica wskaÿników do funkcji sk³adowych klasy WskaŸniki do sk³adników statycznych Æwiczenia Konwersje Sformu³owanie problemu Konstruktory konwertuj¹ce Kiedy jawnie, kiedy niejawnie Przyk³ad konwersji konstruktorem Funkcja konwertuj¹ca operator konwersji Na co konwertowaæ nie mo na 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 Nieca³kiem pasuj¹ce argumenty, czyli konwersje przy dopasowaniu Kilka rad dotycz¹cych konwersji Æwiczenia...791

9 XI 19Prze³adowanie operatorów 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 Argumentowoœæ operatorów Operatory jednoargumentowe Operatory dwuargumentowe Przyk³ad na prze³adowanie operatora dwuargumentowego Przemiennoœæ Choæ operatory inne, to nazwê maj¹ tê sam¹ Przyk³ad zupe³nie nie matematyczny Cztery operatory, które musz¹ byæ niestatycznymi funkcjami sk³adowymi Operator przypisania = Przyk³ad na prze³adowanie operatora przypisania Jak koniecznoœæ istnienia operatora przypisania opowiedzieæ potocznie? Kiedy op er a tor przypisania nie jest generowany automatycznie Operator [ ] Operator ( ) Operator > Zrêczny wskaÿnik wykorzystuje prze³adowanie w³aœnie tego operatora Operatory new, new[] Przyk³ad prze³adowania operatora new Przyk³ad prze³adowania operatora new[] Operatory delete, delete[] Prosty przyk³ad prze³adowania delete Prosty przyk³ad prze³adowania delete[] Program przyk³adowy na zastosowanie operatorów new, delete Prze³adowanie globalnych operatorów new, new[], delete, delete[] Operatory postinkrementacji i postdekrementacji, czyli koniec z niesprawiedliwoœci¹ Rady praktyczne dotycz¹ce prze³adowania Pojedynek: Operator jako funkcja sk³adowa, czy globalna Zas³ona spada, czyli tajemnica operatora << Rzut oka wstecz Æwiczenia Dziedziczenie 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 using czyli udostêpnianie wybiórcze Czego siê nie dziedziczy...903

10 XII "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 operatora przypisania Klasa pochodna nie definiuje swojego konstruktora kopiuj¹cego Inicjalizacja i przypisywanie wed³ug obiektu wzorcowego bêd¹cego const Definiowanie konstruktora kopiuj¹cego i operatora przypisania dla klasy pochodnej Dziedziczenie od kilku "rodziców" (czyli wielokrotne) Konstruktor klasy pochodnej przy wielokrotnym dziedziczeniu Ryzyko wieloznacznoœci przy dziedziczeniu Bli sze pokrewieñstwo usuwa wieloznacznoœæ Poszlaki Pojedynek: Dziedziczenie klasy, contra zawieranie obiektów sk³adowych 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 dziedziczenie tej samej klasy wirtualnej Uwagi o konstrukcji i inicjalizacji w przypadku klas wirtualnych Dominacja klas wirtualnych Æwiczenia Funkcje wirtualne Polimorfizm Typy rezultatów ró nych realizacji funkcji wirtualnej Dalsze szczegó³y 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? Funkcja wirtualna, a mimo to inline Pojedynek funkcje prze³adowane contra funkcje wirtualne Klasy abstrakcyjne Destruktor? to najlepiej wirtualny! Co prawda, konstruktor nie mo e byæ wirtualny, ale Rzutowanie dynamic_cast jest dla typów polimorficznych Wszystko, co najwa niejsze Finis coronat opus Æwiczenia

11 XIII 22Operacje Wejœcia/Wyjœcia 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 nie dziedziczy siê Operatory wstawiania i wyjmowania nie mog¹ byæ wirtualne. Niestety Sterowanie formatem Flagi stanu formatowania Znaczenie poszczególnych flag sterowania formatem Sposoby zmiany trybu (regu³) formatowania Zmiana sposobu formatowania funkcjami setf, unsetf Dodatkowe funkcje do zmiany parametrów formatowania Manipulatory Ma nip u la tory bezargumentowe Ma nip u la tory parametryzowane Definiowanie swoich manipulatorów Ma nip u la tor jako funkcja Definiowane manipulatora z parametrem Nieformatowane operacje wejœcia/wyjœcia Omówienie funkcji wyjmuj¹cych ze strumienia Funkcje do pracy ze znakami i stringami Wczytywanie binarne funkcje read i readsome Funkcja ignore Po yteczne funkcje pomocnicze Funkcje wstawiaj¹ce do strumienia 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ñ Ustawianie i kasowanie flag b³êdu strumienia Trzy plagi czyli gotowiec, jak radziæ sobie z b³êdami Przyk³ad programu pracuj¹cego na plikach 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 Dlaczego tak nie lubimy biblioteki stdio?

12 XIV Synchronizacja biblioteki iostream z bibliotek¹ stdio Strumieñ zapisuj¹cy do obiektu klasy string Pro gram przyk³adowy ilustruj¹cy u ycie klasy ostringstream Strumieñ czytaj¹cy z obiektu klasy string Prosty przyk³ad u ycia strumienia istringstream 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 Programowanie proceduralne (czyli "orientowane funkcyjnie") Programowanie z ukrywaniem 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. Okreœlanie sekwencji dzia³añ obiektów i cykli yciowych Faza implementacji Przyk³ad projektowania Faza: Rozpoznanie naszego zagadnienia 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œlenie wzajemnych zale noœci klas Etap 5 Sk³adamy model naszego systemu Implementacja modelu naszego systemu Symfonia C++, Coda Pos³owie A Dodatek: Systemy liczenia A.1 Dlaczego komputer nie liczy tak jak my? A.2 System szesnastkowy (heksadecymalny)

13 XV A.3 Æwiczenia Skorowidz

Symfonia 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. 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ółowo

Symfonia 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. 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ółowo

0 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! 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ółowo

Opus 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 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ółowo

Opus 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 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ółowo

Opus 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 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ółowo

Część I Programowanie niskiego poziomu w języku C 19

Część 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ółowo

Jedno C i same plusy!

Jedno 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ółowo

Spis 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 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ółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona 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ółowo

Programowanie 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 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ółowo

MIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin 2013. Mojej Żonie Kasi

MIKROKONTROLERY 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

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 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ółowo

Podstawy programowania skrót z wykładów:

Podstawy 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ółowo

Ję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. 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ółowo

dr inż. Jarosław Forenc

dr 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ółowo

Podstawy Programowania

Podstawy 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ółowo

Programowanie (C++) NI 5

Programowanie (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ółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeś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ółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY 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ółowo

Spis treœci trzech tomów

Spis treœci trzech tomów III Spis treœci trzech tomów Tom 1 0 Proszê nie czytaæ tego!...1 0.1 ZaprzyjaŸnijmy siê!...1 1 Startujemy!...8 1.1 Pierwszy program...8 1.2 Drugi program...13 1.3 Æwiczenia...18 2 Instrukcje steruj¹ce...20

Bardziej szczegółowo

Cena szkolenia. Opis kursu

Cena 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ółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁ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ółowo

Podstawy Programowania

Podstawy 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 05 1 / 15 Plan wykładu 1 Biblioteka

Bardziej szczegółowo

Spis treści. Wprowadzenie 15

Spis 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ółowo

C++. Æwiczenia zaawansowane

C++. Æ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ółowo

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Wykł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ółowo

Najlepsze źródło informacji o C++! Kompletny podręcznik do nauki C++!

Najlepsze ź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ółowo

Nowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza)

Nowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza) Różnice między C i C++ (Rozszerzenia C++) Nowe słowa kluczowe class, delete, new, friend,... Komentarze /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza) Wskaźniki typu void W C wskaźniki

Bardziej szczegółowo

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Instrukcja 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ółowo

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykł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ółowo

Język C++ Programowanie obiektowe

Ję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ółowo

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy 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ółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Ję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ółowo

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT 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ółowo

2 Przygotował: mgr inż. Maciej Lasota

2 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ółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

IMIĘ 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ółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

Bardziej szczegółowo

Operatory na rzecz typu TString

Operatory 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ółowo

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe Wstęp do programowania obiektowego Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe 1 PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI W C++ 2 W C++

Bardziej szczegółowo

Część 4 życie programu

Część 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ółowo

Informatyka 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 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ółowo

STL: Lekcja 1&2. Filozofia STL

STL: 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ółowo

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

2. 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ółowo

Język C++ wykład VIII

Ję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ółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis 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ółowo

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Ję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ółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Politechnika 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ółowo

Zmienne, stałe i operatory

Zmienne, 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ółowo

Słowa kluczowe i nazwy

Sł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ółowo

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

Bardziej szczegółowo

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi

EGZAMIN 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ółowo

Dziedziczenie jednobazowe, poliformizm

Dziedziczenie 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ółowo

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

public: // 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ółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Język C++ Różnice między C a C++

Język C++ Różnice między C a C++ Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs 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ółowo

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Politechnika 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 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ółowo

Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ

Functionalization. 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ółowo

Zaawansowane programowanie w języku C++ Biblioteka standardowa

Zaawansowane programowanie w języku C++ Biblioteka standardowa Zaawansowane programowanie w języku C++ Biblioteka standardowa Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 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ółowo

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Zaliczenie przedmiotu:

Zaliczenie przedmiotu: INFORMATYKA 2 - Wykład 15h Kod przedmiotu: ES1C300 016, ECTS: 3 pkt. Kierunek: Elektrotechnika, studia stacjonarne I stopnia Semestr: III, rok akademicki: 2016/2017 Zaliczenie przedmiotu: Ogólne warunki

Bardziej szczegółowo

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32 Programowanie w C++ Wykład 12 Katarzyna Grzelak 20 maja 2019 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe

Bardziej szczegółowo

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO Wstęp do programowania obiektowego Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO 1 Cele przedmiotu Zapoznanie z podstawowymi pojęciami oraz technikami programowania obiektowego na przykładzie

Bardziej szczegółowo

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne

Bardziej szczegółowo

Programowanie 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 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ółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Programowanie proceduralne Rok akademicki: 2013/2014 Kod: JFT-1-201-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: Poziom studiów: Studia

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Podstawy Programowania

Podstawy 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 01 1 / 9 Plan wykładu 1 Informacje

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘ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ółowo

Ję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. 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ółowo

Programowanie 2. Język C++. Wykład 3.

Programowanie 2. Język C++. Wykład 3. 3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - 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ółowo

Interfejsy i klasy wewnętrzne

Interfejsy 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ółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy 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ółowo

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Programowanie obiektowe Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Operator new, new[] Operator new oraz new[] służy do rezerwacji obszarów z zapasie pamięci

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* 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ółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

BIBLIOTEKA STANDARDOWA C++

BIBLIOTEKA STANDARDOWA C++ Programowanie Obiektowe (język C++) Wykład 11. BIBLIOTEKA STANDARDOWA C++ Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Biblioteka standardowa C++ - Wprowadzenie Główne elementy

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Wstęp do programowania obiektowego, wykład 7

Wstę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ółowo