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

Detail předmětu

Seminář C++

ICP Ak. rok 2012/2013 letní semestr 4 kredity

Aktuální akademický rok

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)

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.

Prerekvizity

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: Working Draft, Standard for Programming Language C++ (N3242). 2011-02-28 [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
  • ISO: Working Draft, Standard for Programming Language C++ (N3242). 2011-02-28

Osnova přednášek

  1. Úvod. Charakteristika jazyka ISO C++ (C++98, C++11). 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ů. Konverze typů.
  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. Ukazatele na členy tříd. Metody efektivního programování v C++.

Osnova ostatní - projekty, práce

  • projekt

Podmínky zápočtu

nejméně 50% bodů z projektu

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

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