Detail předmětu

Seminář C++

ICP Ak. rok 2005/2006 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

český

Zakončení

zápočet (písemná)

Rozsah

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

Bodové hodnocení

100 projekty

Zajišťuje ústav

Cvičící

Florián Vladimír, Ing. (UITS FIT VUT)
Peringer Petr, Dr. Ing. (UITS FIT VUT)
Slavíček Pavel, Ing. (UITS FIT VUT)

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

Požadované prerekvizitní znalosti a dovednosti

základy jazyka C

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 jednoduché domácí úkoly
  • projekt společný s předmětem IPP

Průběžná kontrola studia

domácí úkoly

Podmínky zápočtu

nejméně polovina 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