Detail předmětu

Seminář C++

ICP Ak. rok 2024/2025 letní semestr 4 kredity

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.

Garant předmětu

Koordinátor předmětu

Jazyk výuky

česky, anglicky

Zakončení

klasifikovaný zápočet (písemná)

Rozsah

  • 26 hod. seminář
  • 13 hod. projekty

Bodové hodnocení

  • 100 bodů projekty

Zajišťuje ústav

Cvičící

Cíle předmětu

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.
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í.

Doporučené prerekvizity

Literatura studijní

  • Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014
  • ISO: Working Draft, Standard for Programming Language C++ (N4950). 2023-05-10 [dostupné elektronicky na WWW]

Osnova seminářů

  1. Úvod. Charakteristika jazyka ISO C++ (C++11, C++17, C++20, C++23). Příklady ilustrující použití C++.
  2. Rozdíly mezi C a C++. Deklarace, definice, prostory jmen. Typ reference, typ bool.
  3. Přehled příkazů a operátorů. Principy objektově orientovaného programování v C++, terminologie.
  4. Objekty, třídy, členy tříd. Kontrola přístupu ke členům tříd. Metody, klíčové slovo "this", statické členy tříd.
  5. Vytváření a inicializace objektů: konstruktory, destruktory, operátory new a delete.
  6. Přetěžování funkcí a operátorů. Přetypování.
  7. Vstup/výstup (iostream, fstream). Definice vstup/výstupních operací. Formátování výstupu, práce se soubory a řetězci.
  8. 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.
  9. Polymorfismus, virtuální metody, abstraktní třídy. Dynamická identifikace typů (RTTI), dynamické přetypování.
  10. Generické třídy a funkce (šablony). Specializace a částečná specializace šablon.
  11. Standardní knihovna, algoritmy, iterátory, kontejnery, funkční objekty. Vytváření knihoven v C++. Moduly v C++20.
  12. Zpracování výjimek. Specifikace a obsluha výjimek.
  13. Přehled knihoven. Metody efektivního programování v C++.

Osnova ostatní - projekty, práce

   - projekt

Průběžná kontrola studia

Pro získání zápočtu musí student získat nejméně 50 bodů za projekt.

Rozvrh

DenTypTýdnyMístn.OdDoKapacitaPSKSkupInfo
Čt seminář 1., 2., 3., 4., 5., 6., 7., 9., 10., 11. výuky D105 17:0018:50316 2BIA 2BIB 3BIT xx Peringer
Čt seminář 2025-04-03 E112 17:0018:50316 2BIA 2BIB 3BIT xx Peringer

Zařazení předmětu ve studijních plánech

  • Program BIT, 2. ročník, povinně volitelný skupina T
  • Program BIT (anglicky), 2. ročník, povinně volitelný skupina T
Nahoru