Detail předmětu
Seminář C++
FIT-ICPAk. rok: 2017/2018
Přehled vlastností jazyka C++ podle normy ISO. Objekty, třídy, dědičnost, polymorfismus. Přetěžování operátorů a funkcí. Šablony funkcí a tříd. Obsluha výjimek. Použití standardních knihoven, STL.
Jazyk výuky
čeština
Počet kreditů
4
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Studenti budou umět využít C++ k programování středně složitých aplikací založených na objektově orientovaném přístupu a také na generickém programování.
Prerekvizity
Nejsou žádné prerekvizity.
Způsob a kritéria hodnocení
nejméně 50% bodů z projektu
Osnovy výuky
- Osnova přednášek:
- Úvod. Charakteristika jazyka ISO C++ (C++98, C++11). Příklady ilustrující použití C++.
- Rozdíly mezi C a C++. Deklarace, definice, prostory jmen. Typ reference, typ bool.
- Přehled příkazů a operátorů. Principy objektově orientovaného programování v C++, terminologie.
- Objekty, třídy, členy tříd. Kontrola přístupu ke členům tříd. Metody, klíčové slovo "this", statické členy tříd.
- Vytváření a inicializace objektů: konstruktory, destruktory, operátory new a delete.
- Přetěžování funkcí a operátorů. Konverze typů.
- Vstup/výstup (iostream, fstream). Definice vstup/výstupních operací. Formátování výstupu, práce se soubory a řetězci.
- Dědičnost, bázové a odvozené třídy. Násobná dědičnost, virtuální bázové třídy. Volání konstruktorů a destruktorů, operátory a dědičnost.
- Polymorfismus, virtuální metody, abstraktní třídy. Dynamická identifikace typů (RTTI), dynamické přetypování.
- Generické třídy a funkce (šablony). Specializace a částečná specializace šablon.
- Standardní knihovna, algoritmy, iterátory, kontejnery, funkční objekty. Vytváření knihoven v C++.
- Zpracování výjimek. Specifikace a obsluha výjimek.
- Přehled knihoven. Ukazatele na členy tříd. Metody efektivního programování v C++.
- projekt
Osnova ostatní - projekty, práce:
Učební cíle
Cílem je naučit studenty základy objektově orientovaného přístupu v jazyce C++ a základy generického programování s využitím šablon.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Výuka není kontrolována.
Prerekvizity a korekvizity
- doporučená prerekvizita
Jazyk C
Základní literatura
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014 (EN)
Zařazení předmětu ve studijních plánech