Zaawansowane programowanie w C++ (PCP)
|
|
- Gabriel Fabian Nowicki
- 8 lat temu
- Przeglądów:
Transkrypt
1 Zaawansowane programowanie w C++ (PCP) Wykład 1 - sprawy organizacyjne i wprowadzenie. dr inż. Robert Nowak - p. 1/27
2 Cel i zakres przedmiotu Umiejętność programowania to umiejętność rozwiazania problemów przy pomocy komputera. Czy ten problem może być rozwiazany przy pomocy komputera? Czy ten problem powinien być rozwiazany przy pomocy komputera? Komputer = głupi automat. zapoznanie słuchaczy z zagadnieniami tworzenia oprogramowania w C++ współcześnie stosowane techniki i biblioteki Zakładana jest znajomość programowania strukturalnego i obiektowego oraz praktyczna znajomość języka C++. - p. 2/27
3 Podstawowe dane o przedmiocie» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie Miejsce spotkań: Piatki , sala N7 (wykład) Piatki , sala N102 (laboratorium) Prowadzacy: dr inż. Robert Nowak, Zakład Sztucznej Inteligencji, Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska. r.m.nowak@elka.pw.edu.pl strona przedmiotu: rnowak2/pcp2007l - p. 3/27
4 Zajęcia» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie 1 Klasy autonomiczne, cykl życia obiektów. 2 Agregacja i dziedziczenie, polimorfizm, klasy abstrakcyjne. 3 Laboratorium 1: funkcje wirtualne, hierarchia klas. 4 Wzorce projektowe. 5 Obsługa błędów, mechanizm wyjatków, sprytne wskaźniki. 6 Laboratorium 2: wyjatki. Rozdanie zadań projektowych. 7 Rola projektowania i testowania, repozytorium. 8 Szablony, wstęp do biblioteki standardowej, strumienie. 9 Biblioteka standardowa: kontenery, algorytmy. 10 Laboratorium 4: Kolokwium. 11 Laboratorium 5: realizacja projektu 12 Laboratorium 6: realizacja projektu 13 Aplikacje wielowatkowe, synchronizacja, boost::thread. 14 Laboratorium 7: aplikacje wielowatkowe. - p. 4/27
5 Literatura» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie Bjarne Stroustrup, Język C++, WNT Bruce Eckel, Thinking in C++, Helion E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Wzorce projektowe, WNT, A. Alexandrescu, Nowoczesne projektowanie w C++, WNT, A. Alexandrescu and H. Sutter, Jȩzyk C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk, Helion, B. Karlsson, Wiȩcej niż C++. Wprowadzenie do bibliotek Boost, Helion, S. Meyers, 50 efektywnych sposobów na udoskonalenie Twoich programów, Helion, p. 5/27
6 Zaliczenie przedmiotu» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie kolokwium 0 30pkt Podział punktów: ćwiczeń laboratoryjnych 0 40pkt projektów 0 30pkt Warunkiem zaliczenia jest uzyskanie przynajmniej 51 pkt. Ocena: punktów ocena pkt. ocena pkt. ocena pkt. ocena pkt. ocena pkt. ocena 2 - p. 6/27
7 Wymaganie oprogramowanie» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie kompilatory: the GNU Compiler Collection Microsoft Visual Studio 2005 biblioteki: stl boost - inne: repozytorium - edytor tekstu debugger - p. 7/27
8 Sposób, aby zostać dobrym programista» Sposób, aby zostać dobrym programista» zasady dobrego stylu programowania Czytać kod innych. Myśleć! Programować. - p. 8/27
9 zasady» Sposób, aby zostać dobrym programista» zasady dobrego stylu programowania Wykrywanie błędów w programach: Wykorzystywać kompilator. Zawsze doprowadzić do czystej kompilacji (bez żadnych ostrzeżeń) na najwyższym poziomie. Rozumieć każde ostrzeżenie. Stosować standardy kodowania: pliki źródłowe, nazewnictwo, formatowanie kodu źródłowego, stosować konsekwentnie ten sam styl kodowania. - p. 9/27
10 Typy wbudowane» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania logiczny: bool, true, false całkowite: int, long,... rzeczywiste: double,... znakowe: char, wchar_t typ wyliczeniowy enum Kolory { RED = 1, GREEN = 2, BLUE = 4}; void - oznacza brak informacji typy wskaźnikowe typy tablicowe typy referencyjne typedef - p. 10/27
11 Czas życia obiektów» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania l-wartość: odnosi się do czegoś co istnieje w pamięci. Automatyczne: tworzone w chwili napotkania definicji sa niszczone w momencie wyjścia z zasięgu (np. z bloku) definicja powinna być wtedy gdy można zainicjować Statyczne (globalne i zadeklarowane jako static) tworzone tylko raz sa niszczone po zakończeniu programu dynamiczne (tworzone na stercie) operatory new i delete (uwaga! oddzielna wersja dla tablic), programista steruje czasem życia obiektów (tworzy je i usuwa), Nie używamy funkcji z <stdlib.h>, czyli malloc, free itp. - p. 11/27
12 Wykorzystywanie stałych» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Stałe definiuje się za pomoca słowa kluczowego const. const int NUM = 34; const int WZROST[] = { 174, 185, 193, 168 }; unika się magicznych liczb w kodzie, pokazuje się, że funkcja nie zmienia argumentów, pozwala się kompilatorowi na optymalizacje. Systematycznie korzystać ze stałych symbolicznych! int i = 2, j = 3; const int* p = &i; p = &j; *p = 4; int* const q = &i; q = &j; *q = 4; - p. 12/27
13 Konwersja typów» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Nie używa się rzutowania w stylu C! nie używa się void* unikać konwersji typów Operatory rzutowania: static_cast - umożliwia konwersję pomiędzy spokrewnionymi typami const_cast - znosi kwalifikator const reinterpret_cast - dowolna konwersja (tak jak w C) dynamic_cast - rzutowanie w górę hierarchii klas double d = 3.2; int i = static_cast<int>(d); - p. 13/27
14 Instrukcje sterujace» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Instrukcje warunkowe: if... else... switch Iteracja: for while do... while Wołanie funkcji, rekurencja. - p. 14/27
15 Przeciażanie nazw funkcji» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Funkcje moga mieć te same nazwy. bada się zgodność typów parametrów formalnych i aktualnych, znajdowania właściwej wersji funkcji: 1. ścisła zgodność; 2. promowanie w zakresie typów całkowitych(np. bool int ); 3. standardowe konwersje (np. int double); 4. konwersje zdefiniowane przez użytkownika, 5. wielokropek w deklaracji funkcji (wiele argumentów). Jeżeli znajdzie się dwie pasujace deklaracje: zgłaszany jest bład kompilacji. - p. 15/27
16 Przeciażanie nazw (przykład)» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Przykład: void print(double); void print(long); print(1l);////print(long) print(1.0);////print(double) print(1);////błąd - niezgodność nie można przeciażać ze względu na zwracana wartość; jest to ułatwienie notacyjne (to programista decyduje, że funkcje o tych samych nazwach wykonuja podobne operacje); stosowane np. dla różnych konstruktorów. ręczne usuwanie niejednoznaczności: jawna konwersja typu, np. static_cast. - p. 16/27
17 Argumenty domyślne» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Wartość wstawiana, gdy nie dostarczono argumentu. class Point { public: Point(int x = 0, int y = 0); private: int x_; int y_; }; Point::Point(int x, int y) //Nie powtarzać arg. domyślnych : x_(x), y_(y) { } Point p, r(1), s(1,2); Przeciażanie - gdy różny kod. Argumenty domyślne - gdy wiele argumentów, a niektóre maja typowe wartości. Domyślne moga być tylko końcowe argumenty. - p. 17/27
18 Preprocesor» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Preprocesora należy używać do: dołaczania plików nagłówkowych; #include <nazwa> #include nazwa zabezpieczania plików nagłówkowych przed wielokrotnym dołaczaniem; kompilacji warunkowej. I do niczego więcej! - p. 18/27
19 Wykorzystanie biblioteki standardowej C» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Wszystkie nagłówki z C zostały obudowane, aby można było je wykorzystywać w C++. Zmieniono ich nazwy. <cassert> - asercje (niezmienniki); <cctype> - klasyfikacja znaków (isalpha, isspace,... ); <cfloat> - ograniczenia reprezentacji zmiennopozycyjnej (np. DBL_MAX); <climits> - stałe ograniczajace zakresy typów wbudowanych (np. INT_MAX); <cmath> - funkcje matematyczne. - p. 19/27
20 Projektowanie modułów, rola testowania» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Moduł zawiera interfejs (nagłówek) oraz implementację. Używaj przestrzni nazw (jedna przestrzeń nazw na bibliotekę - zbiór powiazanych modułów). Każdy moduł powinien mieć swój test. Test powinien wykonywać się automatycznie (nie powinien komunikować się z człowiekiem). Wykorzystywać asercje do testowania. - p. 20/27
21 Programowanie obiektowe Wszystkie byty w programie sa obiektami. Program to zbiór obiektów, które się ze soba komunikuja. każdy obiekt posiada typ i tożsamość.» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Możliwość definiowania typów przez użytkownika: struct class struct X {private:... to to samo co class X {..., ale konwencje... - p. 21/27
22 Funkcje składowe (metody)» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy dostęp do składowych niejawny argument - wskaźnik this odwołania do this można pominać (skrócenie zapisu) metody stałe metody inline Sekcje (kontrola dostępu) - dziela klasę na interfejs i implementację. class Prostokat { public: Prostokat(const Punkt& a, const Punkt& b); private: Punkt leftup; Punkt rightdown; }; - p. 22/27
23 Konstruktor» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Specjalna metoda, która jest wołana, gdy jest tworzony obiekt danej klasy. zawsze wołany - programista nie zapomni zainicjować składowych, możliwość inicjacji prywatnych składowych, elegancki zapis inicjacji obiektów. struct Punkt { int x; int y; //konstruktor domyślny Punkt() { x = 0; y = 0; } //konstruktor Punkt(int wx, int wy) { x = wx; y = wy; } }; Punkt p; //Tworzy punkt, wywołuje konstruktor domyślny Punkt r(1,2); //Tworzy punkt o współrzędnych x == 1, y == 2 - p. 23/27 Punkt* pr = new Punkt(1,2); //To samo, ale obiekt na stercie
24 Destruktor Jeżeli obiekt klasy ma przydzielane zasoby, to powinno się je zwalniać. Destruktor - metoda wołana gdy niszczony jest obiekt.» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy class PunktN { public: PunktN(int n) { wsp = new int[n]; for(int i=0;i<n;++i) wsp[i] = 0; } PunktN() { delete wsp; } private: int* wsp; }; - p. 24/27
25 Konstrukcja i destrukcja» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy obiekt automatyczny (nazwany) tworzenie deklaracja (za każdym razem) usuwanie opuszcza się blok obiekt na stercie operator new operator delete (niesta- składowa tyczna) lokalny obiekt statyczny obiekt globalny, składowa statyczna obiekt tymczasowy tworzenie obiektu nadrzędnego deklaracja (za pierwszym razem!) poczatek programu podczas wartościowania wyrażenia niszczenie obiektu nadrzędnego koniec programu koniec programu po dojściu do końca wyrażenia - p. 25/27
26 Tworzenie kopii obiektu» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Tworzenie kopii: jawne Foo a; Foo b(a); jawne Foo c = a; przekazywanie wyniku przez wartość; Foo get(); Foo d = get(); przekazywanie argumentu przez wartość; void put(foo x); put(a); class Foo { public: //Deklaracja konstruktora kopiującego Foo(const Foo&);... }; - p. 26/27
27 Konstruktor kopiujacy Jeżeli brak definicji konstruktora kopiujacego, to zostanie on wygenerowany Obiekt może być przekazywany przez wartość, gdy konstruktor kopiujacy będzie prywatny.» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Zawsze definiować (dla klas autonomicznych): konstruktor (lub konstruktory) konstruktor kopiujacy destruktor operator przypisania (operator=) - p. 27/27
Zaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie
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ół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ółowoJę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ół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ółowoWykł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ół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ółowoWykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
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ół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ół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ółowoWykł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ół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ółowoZaawansowane programowanie w języku C++ Klasy w C++
Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania
Bardziej szczegółowoProgramowanie, część I
11 marca 2010 Kontakt Wstęp Informacje organizacyjne Materiał na ćwiczenia Plan wykładu http://www.fuw.edu.pl/~rwys/prog rwys@fuw.edu.pl tel. 22 55 32 263 Materiał na ćwiczenia Informacje organizacyjne
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoProgramowanie 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ółowoZaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce
Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoElektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerów 2 Nazwa modułu w języku angielskim Computer programming
Bardziej szczegółowoWYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++
Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie
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ółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
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ół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ół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 01 1 / 9 Plan wykładu 1 Informacje
Bardziej szczegółowoAutomatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) { zdefiniuje. Integer::operator=(ri);
Przeciążanie operatorów [] Przykład: klasa reprezentująca typ tablicowy. Obiekt ma reprezentować tablicę, do której można się odwoływać intuicyjnie, np. Tab[i] Ma być też dostępnych kilka innych metod
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoRok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -
Nazwa modułu: Język C++ Rok akademicki: 2016/2017 Kod: JFT-1-306-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: - Poziom studiów: Studia I stopnia Forma
Bardziej szczegółowoWstę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ółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowoAutomatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {
Przeciążanie operatorów [] Przykład: klasa reprezentująca typ tablicowy. Obiekt ma reprezentować tablicę, do której można się odwoływać intuicyjnie, np. Tab[i] Ma być też dostępnych kilka innych metod
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowo1. 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ółowoW2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne
Bardziej szczegółowoZaawansowane programowanie w języku C++ Przeciążanie operatorów
Zaawansowane programowanie w języku C++ Przeciążanie operatorów Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Bardziej szczegółowoAutomatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {
Przeciążanie a dziedziczenie class Integer2: public Integer Operatory, z wyjątkiem operatora przypisania są automatycznie dziedziczone w klasach pochodnych. Integer2(int i): Integer(i) Automatyczne tworzenie
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ół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ółowoWstę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ół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ółowoZaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
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ółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoI. 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ółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU METODY
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoWykł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ółowoProgramowanie 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ółowoPARADYGMATY PROGRAMOWANIA Wykład 2
PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych
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ółowoJęzyki i paradygmaty programowania
Języki i paradygmaty programowania WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 Materiały do wykładu
Bardziej szczegółowoKARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C6
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
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ółowoKonstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.
Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class
Bardziej szczegółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
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ółowoKARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C16
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Bardziej szczegółowoProgramowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 7 Przegląd typów strukturalnych - klasy i obiekty - c.d. Klasa - powtórzenie
Bardziej szczegółowoKlasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np
Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
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ółowoProgramowanie obiektowe w języku C++ dr inż. Jarosław Forenc
Rok akademicki 2016/2017, Wykład nr 4 2/45 Plan wykładu nr 4 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017
Bardziej szczegółowoInformatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie obiektowe (Java) Nazwa modułu w języku angielskim Object oriented
Bardziej szczegółowoNowe 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ółowowykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
Bardziej szczegółowoWprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).
Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoSzablony funkcji i szablony 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 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoWstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
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ół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ółowoWykład 5 Okna MDI i SDI, dziedziczenie
Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie
Bardziej szczegółowoPROE 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ółowoProgramowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
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ółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
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ółowoPola i metody statyczne. Klasy zawierające pola i metody statyczne
Instrukcja laboratoryjna nr 1 Programowanie w języku C 2 (C++ poziom zaawansowany) Pola i metody statyczne. Klasy zawierające pola i metody statyczne dr inż. Kaczmarek Tomasz mgr inż. Lasota Maciej dr
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ół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ółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy KONSTRUKTORY
Inicjalizacja obiektu KONSTRUKTORY Inicjalizacja Przyczyną wielu błędów w programach jest nieprawidłowe zainicjalizowanie zmiennych na początku działania programu. Obiekt zawiera z reguły szereg pól ich
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ół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ół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ółowoKod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.
Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania
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ółowoKARTA KURSU. Programowanie obiektowe
KARTA KURSU Nazwa Nazwa w j. ang. Programowanie obiektowe Object oriented programming Kod Punktacja ECTS* Stacjonarne 6 Niestacjonarne 4 Koordynator dr Dariusz Pałka Zespół dydaktyczny: dr Dariusz Pałka
Bardziej szczegółowoKonstruktor kopiujacy
Konstruktor kopiujacy Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostępniony
Bardziej szczegółowoWstęp do programowania obiektowego. Wykład 2
Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe
Bardziej szczegółowo