Fakulta informačních technologií VUT v Brně

Detail předmětu

Seminář C++

ICP Ak. rok 2018/2019 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

Peringer Petr, Dr. Ing. (UITS FIT VUT)

Zástupce garanta předmětu

Jazyk výuky

česky

Zakončení

zápočet (písemná)

Rozsah

26 hod. cvičení, 13 hod. projekty

Bodové hodnocení

100 projekty

Zajišťuje ústav

Přednášející

Peringer Petr, Dr. Ing. (UITS FIT VUT)

Cvičící

Získané dovednosti, znalosti a kompetence z 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í.

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.

Proč je předmět vyučován

Alespoň základní znalost C++ je velmi potřebná pro praxi a také pro získání rozhledu v programovacích jazycích, paradigmatech programování atd.

Prerekvizity

Literatura studijní

  • ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21 [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, 4th edition, Addison-Wesley, 2014
  • Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
  • ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1998
  • ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21

Osnova přednášek

  1. Úvod. Charakteristika jazyka ISO C++ (C++11, C++17). 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++.
  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

Podmínky zápočtu

Nejméně 50% bodů z projektu.

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Útostatní2019-05-14 A211 10:0016:50obhajoby projektu
Útcvičenívýuky D105 18:0019:50 2BIA 2BIB 3BIT xx
Stostatní2019-05-15 A211 10:0011:50obhajoby projektu
Stostatní2019-05-15 A211 15:0016:50obhajoby projektu

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

  • Program BIT, 2. ročník, povinně volitelný skupina T
  • Program IT-BC-3, obor BIT, 2. ročník, povinně volitelný skupina T
Nahoru