KPPC

Praktické programování v C++

Přednášky







Výuka:

lekce

Náplň

1

Úvod

Cvičící a přednášející
organizace a náplň kurzu
bodové hodnocení a termíny
literatura

Opakování C

Struktura programu v jazyce C, tvorba projektu, příkaz preprocesoru #define, makra, bitové operace, formátované tisky. (Přednášky BPPC, skripta, knihy)

Základy C++

Úvod do objektového programování, základní vlastnosti a možnosti (opakovatelnost využití kódu, dědění, ...)

Zadání DU

Příklad - formátované načítání a tisk

Na příští kurs připravit (přečíst)

Opakování C - ukazatele, struktury,
neobjektové vlastnosti C++ (přetěžování funkcí, reference, implicitní parametry, const, inline, prostory jmen, operátory, bool, new)

2

Zhodnocení DU makra a tabulky

 

Nová látka – neobjektové vlastnosti




Ukazatele. Příklad.(není DU) Příklad ukazatel na funkce. (není DU)

viz přednášky BPPC – po referenci

přetěžování funkcí,
reference,
implicitní parametry,
const,
inline funkce,
prostrory jmen,
operátory,
bool,
new

Alokace paměti a práce s 2D polem Úkolem je Krok3, který tématicky navazuje na kroky 1 a 2 (včetně realizace check a transpozice, odevzdávat pouze .h .cpp .c). Jména odevzdávaných souborů se budou jmenovat: test.cpp; pole.h; pole.cpp.

Zadání DU

Na příští kurs připravit (přečíst)

informativně nastudovat :
zopakovat strukturu a tvorbu programu v C (kapitoly 5.1-5.2.2 skript),
základy objektového programování, (objekt, dědění, šablony, výjimky)

3

Zhodnocení DU 2D pole

 

Nová látka – objekty

Motivace C++ (kapitola 3.1 skript), motivace třída,
Objektové programování, pojem třídy a struktury v C++

Zadání DU

Návod pro komentování programem Doxygen

Vázaný seznam naprogramujte a okomentujte pro prostředí Doxygen - úkol.

V dokumentaci by se měla objevit tabulka obsahující data o autorovi a jméno projektu, dále zadání a poznámky k vypracování (na zvláštní stránce), program by měl být okomentován (stručně ale poctivě).

Na příští kurs připravit (přečíst)

definice třídy,
data a metody, přístupová práva, metody pro čtení a zápis dat
třída a hlavičkový soubor
This,
volání metod
připravit se na půlsemestrální test upřesnění termínu

4

Zhodnocení DU vázaný seznam 1

 

Nová látka – základy tříd

Definice třídy, struktury (rozdíly mezi strukturou a třídou, mezi C a C++)
přístupová práva, data, metody
metody pro přístup k datům (čtení a zápis)
volání metod – this (data jsou součástí volaného objektu)

Zadání DU

Třída 2D pole – pokračování (úkol 2)

Na příští kurs připravit (přečíst)

Inline funkce a metody
rozdělení na hlavičky a zdroje
konstruktory, destruktory, metody
friend

5

Zhodnocení DU pole 2

„vzorový“ příklad třídy KOMPLEX (z hlediska C++ a komentářů) stejné obtížnosti jak je třída 2D pole (vlastní „pracující“ zdrojový kód je pro 2D pole složitější, díky práci s ukazateli)

Nová látka – práce s třídou

Konstruktory, destruktory
Rozdělení metod na inline a s funčním voláním
rozdělení na hlavičkový a zdrojový soubor,
friend

Zadání DU

2D pole – základy třída (úkol 3)

Na příští kurs připravit (přečíst)

Operátory
konverze (konstruktory, operátory)
Statické členy a metody
Dědění,
streamy,

6

Zhodnocení DU pole 3

.

Nová látka – práce s třídami

operátory – příklad a = b + c (ukázat this)
konverze
Statické členy a metody
Dědění
streamy

Zadání DU

2D pole – pokračování třída (úkol 4)

Na příští kurs připravit (přečíst)

volání konstruktorů a destruktorů
virtuální metody, abstraktní třídy
vícenásobné dědění,
šablony, výjimky

7

Zhodnocení DU třída 2

 

Nová látka – vyšší metody práce s třídami

volání konstruktorů a destruktorů
virtuální metody, abstraktní třídy
šablony
výjimky
vícenásobné dědění

Organizace zkoušky

Zadání DU

2D pole– dokončení třída (úkol 5)

„vzorový“ příklad třídy KOMPLEX (demonstrující použití template a dědění) srovnatelné obtížnosti jak je třída 2D pole - berte jako inspiraci (ne jako dogma) pro vlastní práci

Na zkoušku připravit

Zopakovat látku, připomínky k DU
Typické příklady na zkoušce

závěr

Zhodnocení DU Třída (ukol 5)

podrobné výsledky, konzultace, zkoušky







Poslední změna 2013-09-21