| Název: | Seminář C++ |
|---|
| Zkratka: | ICP |
|---|
| Ak.rok: | 2012/2013 |
|---|
| Semestr: | letní |
|---|
| Studijní plán: | | Program | Obor | Ročník | Povinnost |
| IT-BC-3 | BIT | 2. | povinně volitelný - skupina T |
|
|---|
| Vyučovací jazyk: | čeština |
|---|
| Informace veřejné: | http://www.fit.vutbr.cz/study/courses/ICP/public/ |
|---|
| Kredity: | 4 kredity |
|---|
| Ukončení: | zápočet |
|---|
| Výuka: | | hod./sem | přednáška | sem./cvičení | lab. cvičení | poč. cvičení | jiná |
|---|
| Rozsah: | 0 | 26 | 0 | 0 | 13 |
|---|
| | zkouška | testy | cvičení | laboratoře | ostatní |
|---|
| Body: | 0 | 0 | 0 | 0 | 100 |
|---|
|
|---|
| Garant: | Peringer Petr, Dr. Ing., UITS |
|---|
| Přednášející: | Peringer Petr, Dr. Ing., UITS |
| Cvičící: | Janoušek Vladimír, doc. Ing., Ph.D., UITS Peringer Petr, Dr. Ing., UITS |
|---|
| Fakulta: | Fakulta informačních technologií VUT v Brně |
|---|
| Pracoviště: | Ústav inteligentních systémů FIT VUT v Brně |
|---|
| Prerekvizity: | |
|---|
| | | 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. | | Anotace: |
|---|
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. | | Získané dovednosti, znalosti a kompetence: |
|---|
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í. | | Osnova seminářů: |
|---|
- Úvod. Charakteristika jazyka ISO C++ (C++98, C++11). 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, fstream). 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, algoritmy, iterátory, kontejnery, funkční objekty. Vytváření knihoven v C++.
- Zpracování výjimek. Specifikace a obsluha výjimek.
- Přehled knihoven. Ukazatele na členy tříd. Metody efektivního programování v C++.
| | Osnova ostatní - projekty, práce: |
|---|
- projekt
| | 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
| | 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.
| | Podmínky zápočtu: |
|---|
nejméně 50% bodů z projektu
| | |
|