Programowanie Obiektowe

2017/2018



Strona niniejsza zawiera materiały pomocnicze do wykładu z kursu "Programowanie obiektowe" prowadzonego na kierunku Automatyka i Robotyka Wydziału Elektroniki Politechniki Wrocławskiej.

Prowadzący:  Bogdan Kreczmer, dr inż., pok. 307 bud. C-3, tel. 71 320 2741
Terminy konsultacji:    pn. 9:00 - 11:00   wt. 9:00 - 11:00;

Schemat konstrukcji adresu e-mail:  imię.nazwisko@pwr.edu.pl

Alternatywne adresy niniejszej strony:

 http://rab.iiar.pwr.wroc.pl/~kreczmer/kpo
 http://sequoia.iiar.pwr.wroc.pl/~kreczmer/kpo

Wykłady

Nr Data Tytuł/Zagadnienia Slajdy Dodatki
1. 22.02   Organizacja kursu, paradygmaty, ogólnie o C i C++   Acrobat Reader  
2. 1.03   Podejście obiektowe, przeciążenia operatorów, referencje   Acrobat Reader  
3. 8.03   Pojęcie klasy, zwracanie przez referencję, przeciążanie operatorów strumieniowych   Acrobat Reader  
4. 15.03   Od funkcji do metody, od struktury do klasy   Acrobat Reader  
5. 22.03   Rozwijanie w linii, konstruktory, destruktory, szablony   Acrobat Reader  
6. 5.04   Wartości domyślne, interfejs klasy, niejawne konwersje, Doxygen   Acrobat Reader HTML TGZ ZIP
7. 12.04   STL, pola i metody statyczne, diagramy UML, dziedziczenie   Acrobat Reader  
8. 19.04   Przykład problemu -- kolizja obiektów; konstruktory i destrukotry, lista inicjalizacyjna   Acrobat Reader  
9. 26.04   Konstruktory kopiującen, metody wirtualne, rzutowanie w górę, listy niejednorodne   Acrobat Reader Acrobat Reader TGZ ZIP
10. 10.05   Metody wirtualne i abstrakcyjne   Acrobat Reader TGZ ZIP
11. 17.05   Operatory rzutowania i konwertery   Acrobat Reader  
12. 24.05   Przestrzenie nazw, inicjalizacja obiektów z referencjami   Acrobat Reader  
13. 30.05   Wyjątki   Acrobat Reader  
14. 7.06   Geneza C++, manipulatory   Acrobat Reader  

Zadania na zajęcia projektowe

Nr Tytuł Czas OpisDod.ZasobyForm.
1.   Różnice C i C++, wyszukiwanie błędów 1 tydz. Acrobat Reader PDF TGZ ZIP  
2.   Sprawdzian z arytmetyki liczb zespolonych 2 tyg. Acrobat Reader [www] TGZ ZIP  
3.   Układ równań 2 tyg. Acrobat Reader   TGZ ZIP  
4.   Szablon dla układu równań 2 tyg. Acrobat Reader     TGZ ZIP  
5.   Sterowanie robotem mobilnym 2 tyg. Acrobat Reader HTML Acrobat Reader   TGZ ZIP  
6.   Sterowanie robotami mobilnymi w obecności przeszkód 2 tyg. Acrobat Reader      
7.   Fabryka obiektów i singleton 1 tydz. Acrobat Reader      

Materiały pomocnicze do ekranówki

 Zestaw przykładowych pytań testowych
 Jak wygląda interfejs graficzny ekranówki



Materiały dodatkowe:
  Dia - przykład rysowania diagramu klas i diagramu czynności Acrobat Reader
  Papyrus - przykład rysowania diagramu przypadków użycia Acrobat Reader
  Doxygen - przykład realizacji dokumentacji Acrobat Reader
  Strona domowa projektu Doxygen [www]
  Schemat konstrukcji pliku Makefile [www]
  Podręcznik do programu umbrello [www]

Poniżej znaleźć można proste przykłady kodu programów demonstrujących sposób definiowania i implementacji wybranych struktur danych oraz metod.

Przykład przeciążenia operatora porównania
Przykład klasy z polem wskaźnikowym
Przykład przeciążania operatorów arytmetycznych (szukanie przecięcia dla odcinka)
Przykład czytania z cin ze znakami "białymi"
Przykład implementacji własnego manipulatora trójargumentowego
Przykład wyłapywania wyjątków dla strumienia standardowego
Przykład wyłapywania wyjątków przy wczytywaniu liczby

Literatura przedmiotu:
Stanley B. Lippman, Josee Lajoie, Barbara E. Moo; ``C++ Primer''; Addison-Wesley, 2013
Bjarne Stroustrup; ``Język C++''; WNT, 2002
B.Eckel; ``Thinking in C++''; HELION, 2002 (link do wersji elektronicznej)
Grady Booch, James Rumbaugh, Ivar Jacobson; ``UML przewodnik użytkownika''
Jerzy Grębosz; ``Symfonia C++ Standard''
Jerzy Grębosz; ``Pasja C++'', tomy I/II/III
Literatura uzupełniająca:
Bjarne Stroustrup; ``Projektowanie i rozwój języka C++''
Nicolai M. Josuttis, ``C++ Biblioteka standardowa, Podręcznik programisty''
David Vandevoorde, Nicolai M. Josuttis, ``C++ szablony''
James Martin, James J. Odell; ``Podstawy metod obiektowych'',
Odsyłacze do wybranych stron kursów Programowania obiektowego:
Uniwersytet Warszawski (autorzy: Janusz Jabłonowski, Jacek Sroka) - język Java
Concurrent Object-Oriented Programming (Stanford University)
Object-Oriented Programming (the Johannes Kepler University, Lintz)
Languages and Tools for Object-Oriented Development ... (Technishe Universitaet Hamburg)
Inne interesujące strony strony:
Tutorial dla C++, opis biblioteki STL i nie tylko
Opis biblioteki STL
Opis biblioteki STL z przykładami
Ciekawe opracowanie


Wszelkie uwagi dotyczące tej strony proszę kierować na adres prowadzącego kurs podany na początku niniejszej strony.

Ostatnia modyfikacja: 2018.06.08