FPF:UIBUC18 Objektové programování I (C++) - Informace o předmětu
UIBUC18 Objektové programování I (C++)
Filozoficko-přírodovědecká fakulta v Opavěléto 2012
- Rozsah
- 0/2/0. 3 kr. Ukončení: z.
- Vyučující
- Mgr. Michal Jašek (cvičící)
- Garance
- doc. RNDr. Lucie Ciencialová, Ph.D.
Ústav informatiky – Filozoficko-přírodovědecká fakulta v Opavě - Předpoklady
- UIBUC02 Algoritmy a programování I || UIKKB09 Algoritmy a programování I || UIKSB12 Algoritmy a programování I || UINK102 Algoritmy a programování I || UINK112 Algoritmy a program. I (C++) || UIN1002 Algoritmy a programování I || UIN1012 Procedurální programování (C)
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- Informatika (dvouoborové) (program FPF, B1803 InDO)
- Informatika (dvouoborové) (program FPF, B6107 HuSt)
- Cíle předmětu
- Základy objektového programování v jazyce C++. Student se seznámí s pojmy: třídy a jejich komponenty - data a metody, konstruktor, destruktor, zapouzdření, dědičnost, polymorfismus. Součástí náplně předmětujsou i zásady bezpečného programování a použití vyjímek. V poslední řadě se student seznámí s šablonami, jejich význame v C++, knihovny pro numerické výpočty a vývojem aplikací s využitím open-source knihoven (aplikace s GUI - knihovny QT; vývojové nástroje - QT designer; možnosti kompilace na různých platformách).
- Osnova
- 1. Historické návaznosti jazyka C++, zejména jeho vztah k jazyku C. Standardy C a C++.
2. Společné a rozdílné prvky jazyků C a C++ (1): datové typy, konstanty, deklarace, výrazy, přiřazovací výrazy a příkazy; základní struktura programu; komentáře; příkazy preprocesoru; relační výrazy a řídicí struktury; vhodný styl psaní programů.
3. Společné a rozdílné prvky jazyků C a C++ (2): textové řetězce ve stylu C a ve stylu C++; pole, ukazatele a odkazy; funkce.
4. Standardní knihovna jazyka C++, standardní knihovna šablon.
5. Základní pojmy OOP: třídy, jejich komponenty - data a metody. Zásady OOP - zapouzdření, datová abstrakce, dědičnost, polymorfismus. Více o deklaracích v C a C++ - paměťové třídy, oblast platnosti jmen, modifikátory). Uživatelské typy (enum, struct, union). Deklarace typedef.
6. Třídy: Definice tříd (členské proměnné, metody, konstruktory a destruktory); dědičnost tříd (dědění přístupových práv, konflikt jmen, normální a virtuální dědění, konstruktory, destruktory a dědičnost).
7. Polymorfismus - časná a pozdní vazba. Abstraktní třídy a čistě virtuální metody. Statické atributy a metody.
8. Přetypování objektů - přetypovací operátory z C, přetypovací konstruktory, nové přetypovací operátory C++, přetypování objektových typů, operátor typeid.
9. Dynamická alokace paměti. Automatické ukazatele. Třídní ukazatele. Prostory jmen (deklarace a použití, anonymní prostory jmen, standardní prostor jmen, zpřístupnění prostoru jmen, prostory jmen a operátory).
10. Vstup a výstup v C++. Srovnání se V/V v jazyce C.
11. Bezpečné programování. Defenzivní programování. (Zásady. Céčkovské "skrčky". Bezpečné konstruktory. Explicitní konstruktory.) Výjimky (Pokusný blok a handlery. Vyvolání výjimky. Zachycení výjimky. Standardní typy výjimek. Výjimky a funkce. Výjimky v konstruktorech a destruktorech. Výjimky v handlerech. Výjimky a alokace paměti. Neošetřené a neočekávané výjimky. Výjimky: pro a proti. Strukturované výjimky.)
12. Šablony, jejich význam v C++, Knihovny pro numerické výpočty. Vývoj aplikací s využitím open-source knihoven. Aplikace s GUI - knihovny QT. Vývojové nástroje - QT designer, RHIDE. Speciální knihovny Messa, GLUT, OpenGL. Zásady správného vývoje platformově nezávislých aplikací. Možnosti kompilace na různých platformách.
- 1. Historické návaznosti jazyka C++, zejména jeho vztah k jazyku C. Standardy C a C++.
- Literatura
- doporučená literatura
- Miroslav Virius. 1001 tipů a triků pro C++. Computer Press, 2011. ISBN 978-80-251-2941-8. info
- Jesse Liberty, Bradley L. Jones. Naučte se C++ za 21 dní. Computer Press, 2007. ISBN 978-80-251-1583-1. info
- Daniel Molkentin. The Book of Qt 4. No Starch Press, 2007. info
- Šaloun, Petr. Programovací jazyk C++ pro zelenáče. NEOKORTEX s.r.o., 2005. ISBN 80-86330-18-4. info
- VIRIUS, M. Programování v C++. ČVUT Praha, 1998. ISBN 80-0101-874-1. info
- Další komentáře
- Předmět je dovoleno ukončit i mimo zkouškové období.
- Statistika zápisu (léto 2012, nejnovější)
- Permalink: https://is.slu.cz/predmet/fpf/leto2012/UIBUC18