Detail předmětu
Seminář C++
ICP Ak. rok 2006/2007 letní semestr 4 kredity
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
Bodové hodnocení
Zajišťuje ústav
Přednášející
Cvičící
Získané dovednosti, znalosti a kompetence z předmětu
Cíle předmětu
Prerekvizity
- Jazyk C (IJC)
Literatura studijní
- Eckel B.: Myslíme v jazyku C++, GRADA, 2000
- Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000 [dostupné elektronicky na WWW]
- ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996 [dostupné elektronicky na WWW]
- Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
Literatura referenční
- Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997
- Stroustrup, B.: The C++ programming language, special edition, Addison-Wesley, 2000
- Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000
- Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
- ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988
- ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996
- Eckel, B.: Myslíme v jazyku C++, GRADA, 2000
Osnova přednášek
- Úvod. Charakteristika jazyka ISO C++. 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). 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 šablon (STL), algoritmy, iterátory, kontejnery, funkční objekty. Vytváření knihoven v C++.
- Zpracování výjimečných situací. Specifikace a obsluha výjimek.
- Přehled standardních knihoven. Ukazatele na členy tříd. Metody efektivního programování v C++.
Osnova ostatní - projekty, práce
- 2 domácí úkoly, každý obsahuje 3 programy v C++
Podmínky zápočtu
Zařazení předmětu ve studijních plánech