Zaawansowane CPP: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Matiunreal (dyskusja | edycje) |
Matiunreal (dyskusja | edycje) |
||
Linia 46: | Linia 46: | ||
# [[Zaawansowane CPP/Wykład 2: Programowanie uogólnione|Programowanie uogólnione]] ([[Zaawansowane CPP/Ćwiczenia 2: Programowanie uogólnione|ćwiczenia]]) | # [[Zaawansowane CPP/Wykład 2: Programowanie uogólnione|Programowanie uogólnione]] ([[Zaawansowane CPP/Ćwiczenia 2: Programowanie uogólnione|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład 3: Szablony II|Szablony II]] ([[Zaawansowane CPP/Ćwiczenia 3: Szablony II|ćwiczenia]]) | # [[Zaawansowane CPP/Wykład 3: Szablony II|Szablony II]] ([[Zaawansowane CPP/Ćwiczenia 3: Szablony II|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład 4: Klasy cech|Klasy cech]] ([[Zaawansowane CPP/Ćwiczenia | # [[Zaawansowane CPP/Wykład 4: ???|mod9]] ([[Zaawansowane CPP/Ćwiczenia 4: ???|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład | # [[Zaawansowane CPP/Wykład 5: Klasy cech|Klasy cech]] ([[Zaawansowane CPP/Ćwiczenia 5: Klasy cech|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład | # [[Zaawansowane CPP/Wykład 6: Funkcje typów i inne sztuczki|Funkcje typów i inne sztuczki]] ([[Zaawansowane CPP/Ćwiczenia 6: Funkcje typów i inne sztuczki|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład | # [[Zaawansowane CPP/Wykład 7: Klasy wytycznych|Klasy wytycznych]] ([[Zaawansowane CPP/Ćwiczenia 7: Klasy wytycznych|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład | # [[Zaawansowane CPP/Wykład 8: Metaprogramowanie|Metaprogramowanie]] ([[Zaawansowane CPP/Ćwiczenia 8: Metaprogramowanie|ćwiczenia]]) | ||
# [[Zaawansowane CPP/Wykład 9: Szablony wyrażeń|Szablony wyrażeń]] ([[Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń|ćwiczenia]]) | |||
# [[Zaawansowane CPP/Wykład 10: ???|mod11]] ([[Zaawansowane CPP/Ćwiczenia 10: ???|ćwiczenia]]) | |||
# [[Zaawansowane CPP/Wykład 11: ???|mod10]] ([[Zaawansowane CPP/Ćwiczenia 11: ???|ćwiczenia]]) | |||
# [[Zaawansowane CPP/Wykład 12: ???|mod14]] ([[Zaawansowane CPP/Ćwiczenia 12: ???|ćwiczenia]]) | |||
# [[Zaawansowane CPP/Wykład 13: ???|mod12]] ([[Zaawansowane CPP/Ćwiczenia 13: ???|ćwiczenia]]) | |||
# [[Zaawansowane CPP/Wykład 14: ???|mod13]] ([[Zaawansowane CPP/Ćwiczenia 14: ???|ćwiczenia]]) | |||
# [[Zaawansowane CPP/Wykład 15: ???|mod15]] ([[Zaawansowane CPP/Ćwiczenia 15: ???|ćwiczenia]]) |
Wersja z 09:59, 23 sie 2006
Forma zajęć
Wykład (30 godzin) + laboratorium (30 godzin)
Opis
Celem przedmiotu jest zapoznanie studentów z zaawansowanymi technikami programowania obiektowego w C++.
Sylabus
Autor
- Piotr Białas
Wymagania wstępne
- Programowanie Obiektowe
- Znajomość C++
Zawartość
- Szablony (templates)
- programowanie generyczne
- koncepty (STL)
- kontenery i algorytmy generyczne
- klasy cech i wytycznych
- metaprogramowanie, szablony wyrażeń
- zastosowanie szablonów do implementacji podstawowych wzorców obiektowych
- programowanie generyczne
- Wyjątki.
- bezpieczna obsługa wyjątków
- wyjątki a kontenery (STL)
- Alokacja pamięci
- operator new, własne alokatory pamięci
- obsługa błędów przydziału pamięci
- alokatory w STL
- Narzędzia programistyczne
- kontrola wersji (Subversion)
- testowanie (CPPUnit)
Literatura
- Stroustroup Jezyk C++.
- Alexandrescu Modern C++ Design, Generic Programming and Design Patterns Applied, 2001 Addison-Wesley.
- S. Meyers, STL w praktyce. 50 sposobów efektywnego wykorzystania, 2004 Helion.
- S. Meyers,C++, 50 efektywnych sposobów na udoskonalenie Twoich programów, 2003 Helion.
- S. Meyers, More effective C++
- B. Eckel, Ch. Allinson, Thinking in C++” Tom 2 2004 Helion.
- B. Meyer, Object Oriented Software Construction
- Strona SGI http://www.sgi.com/tech/stl/
Moduły
- Szablony I (ćwiczenia)
- Programowanie uogólnione (ćwiczenia)
- Szablony II (ćwiczenia)
- mod9 (ćwiczenia)
- Klasy cech (ćwiczenia)
- Funkcje typów i inne sztuczki (ćwiczenia)
- Klasy wytycznych (ćwiczenia)
- Metaprogramowanie (ćwiczenia)
- Szablony wyrażeń (ćwiczenia)
- mod11 (ćwiczenia)
- mod10 (ćwiczenia)
- mod14 (ćwiczenia)
- mod12 (ćwiczenia)
- mod13 (ćwiczenia)
- mod15 (ćwiczenia)