Detail předmětu

Seminář C++

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

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: 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

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