Jazyk C++ Přednáška 1.. Přednáška C++ č.12 Název C++ –Starší verze jazyka, společně označované jako „C with Classes“ (česky C s třídami), byly používány.

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Standardní knihovní funkce pro práci s textovými řetězci
(instance konkrétní třídy)
ÚVOD DO C++ 3 TŘÍDY a objekty - POKRAČOVÁNÍ
Programování v C jazyku - SEMINÁŘ
Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Programování funkcí v Excelu
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Pole, ukazatele a odkazy
ÚVOD DO CPP 7 Dědičnost - pokračování
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Algoritmy I Cvičení č. 2. Cíl hodiny Datové typy a přetypování (int, float, double, bool, char, long, short) Konstanty – Celočíselné Desítkové – 15, 0,
Algoritmy I Cvičení č. 1.
C# pro začátečníky Mgr. Jaromír Osčádal
Programování v C++ Cvičení.
Algoritmizace a programování
Materiály k přednášce Úvod do programování Ondřej Čepek.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
Lestes C++ compiler. Obsah 1. Úvod 2. Architektura 3. Implementace 4. Framework 5. Závěr.
Seminář C++ 9. cvičení Šablony Ing. Jan Mikulka. Šablony ► template – vzory, podle kterých může překladač tvořit skupiny podobných tříd nebo funkcí, které.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Jednoduché datové typy
Základy algoritmizace a programování
PB161 Jmenné prostory, I/O proudy PB161 | Jmenné prostory, IO proudy PB161 – Programování v jazyce C++ Objektově Orientované Programování.
Seminář C cvičení STL, Trolltech Ing. Jan Mikulka.
Objektové programování
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
Cvičení.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Příklady v jazyku C – část 3
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro vstup a výstup 12 Verze
IB111 Programování a algoritmizace
OSNOVA: a) Přetížení členských funkcí b) Dědičnost tříd Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST BPC2E.
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
Pokročilé programování v C++ (část B)
Ukazatele, řetězce Přednáška č. 3. Ukazatele  Ukazatel (pointer) – typ o velikosti 4 bajty (v 32bit. systémech) pro uložení adresy objektu na který ukazuje.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Funkce Přednáška č. 5. Funkce (functions)  posloupnost příkazů uvedená hlavičkou  využití – opakovaně volaná sekvence – strukturování programu – ošetření.
Programování v jazyce C++
Jazyk C++ Přednáška č.2 Proudy, manipulátory Práce se soubory
Jaroslav BURDYS 4IT.  Čistě OOP jazyk (objektově orientovaný programovací jazyk)  Objekty založeny na tzv. objektových typech: Struktura (struct)
Programování KONSTANTY, ČTENÍ PO JEDNOM ZNAKU GETCHAR() FORMÁTOVANÝ VÝSTUP POMOCÍ PRINTF, VÝVOJOVÉ DIAGRAMY, CYKLY.
Překladače 6. Sémantická analýza
Programování ÚVOD, PROMĚNNÉ, OPERÁTORY A PODMÍNĚNÝ PŘÍKAZ ERIK KRÁL.
Programování OPERÁTOR SIZEOF, FUNKCE, POLE JAKO PARAMETRY FUNKCÍ ERIK KRÁL.
Programování v jazyce C++ Speciality jazyka C++, úvod do OOP.
Počítače a programování 2
Y36PJC Programování v jazyce C/C++
Úvod do C# - OOP Jaroslav BURDYS 4IT.
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
C# konzole – Vstup a výstup
Výukový materiál zpracován v rámci projektu
Překladače Syntaktická analýza
Programovací jazyk C Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
Programování v jazyce C++
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
C# přehled vlastností.
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Transkript prezentace:

Jazyk C++ Přednáška 1.

Přednáška C++ č.12 Název C++ –Starší verze jazyka, společně označované jako „C with Classes“ (česky C s třídami), byly používány od roku Jméno „C++“ vymyslel Rick Mascitti v létě Toto jméno zdůrazňuje evoluční povahu změn oproti jazyku C; „++“ je operátor inkrementu v C. Poněkud kratší jméno „C+“ je syntaktická chyba, bylo též použito jako jméno jiného nesouvisejícího jazyka.českyC

Přednáška C++ č.13 Standardy C++ Přestože byl jazyk vyvíjen již od počátku 80. let, první oficiální norma C++ byla přijata v roce 1998, další v roce 2003 (INCITS/ISO/IEC ). V roce 2006 a 2007 byly přijaty některé aktualizace.

Přednáška C++ č.14 Literatura Myslíme v jazyku C++: knihovna programátora, Svazek 2 Od autorů: Bruce Eckel C/C++ Radim Dostál, , CP Books Algoritmy v jazyku C a C++Jiří Prokop 160 ISBN: Naučte se programovat! podrobný průvodce programováním v C++ Francis Glassborow ISBN

Přednáška C++ č.15 Vývojové nástroje Borland C++Builder - vizuální vývojové prostředí pro platformu Windows i Linux (přenositelnost zdrojového kódu) - viz C++Builder)Borland C++BuilderWindowsLinuxC++Builder MS Visual C++ - vývojové prostředí společnosti Microsoft - viz Visual C++MS Visual C++ MicrosoftVisual C++ KDevelop - vývojové prostředí pro OS GNU/Linux, podporuje množství jazyků.KDevelopmnožství jazyků

Přednáška C++ č.16 Kompatibilita s jazykem C Jazyk C je až na několik jasně definovaných výjimek podmnožinou C++. Jak uvádí Bjarne Stroustrup, všechny programy uvedené ve slavné učebnici jazyka C The C Programming Language od Briana W. Kernighana a Dennise M. Ritchieho jsou zároveň programy v C++.CBjarne StroustrupThe C Programming LanguageBriana W. KernighanaDennise M. Ritchieho První překladače C++ byly preprocesory, které překládaly z C++ do čistého C. Považovat jazyk C++ za pouhé rozšíření jazyka C by ale bylo chybou, protože není s jazykem C zcela kompatibilní. Některé programy v jazyce C nelze překládat překladači pro C++.preprocesoryC

Přednáška C++ č.17 Co se smí a nesmí Funkce musí mít uvedený typ. V C je implicitní int, v C++ žádný implicitní není Specifikace parametrů pouze v hlavičce. Zápis: int fce(a) int a; {/*…*/} je v C++ nepřípustný

Přednáška C++ č.18 Inicializace jednoduchých proměnných v C++ int main(){ // toto všechno se smí char *a="jedeme:\n"; int c(2),d=3; char e('u'); char *f="\nnazdar\n"; char *g={"konec\n"}; char *h("jojo"); cout<<a<<c<<d<<e<<f<<g<<h<<endl; }

Přednáška C++ č.19 „Hello, World!“ #include // includuje hlavickovy soubor iostream (pro in-stream a out-stream) using namespace std; // obor nazvu int main() //hlavni funkce programu, zacatek vlastniho tela programu { cout << "Hello, world!" << endl; // vystup na standardní výstup ktera vypise: Hello, world! return 0; // konec programu, funkce return vraci nejakou hodnotu v nasem pripade 0 }

Přednáška C++ č.110 Výpis parametrů funkce main #include using namespace std; int main(int argc, char *argv[],char *env[]) { for(int i = 0; i < argc; ++i) { cout << i + 1 << ": " << argv[i] << endl; } /* pokracuje vypis dle 3.parametru */ for (int i = 0; env[i] != NULL; ) cout<<env[i++]<<endl; return 0; }

Přednáška C++ č.111 Nové datové typy bool – hodnoty false a true wchar_t dvoubajtové písmeno, použití v wprintf Celočíselné: long long int, unsigned long long int (8 byte) (literály ll nebo LL) int8_t až int64_t, int_fast8_t - nejrychlejší

Přednáška C++ č.112 int_least8_t - alespoň 8 bitů intptr_t, uintptr_t - lze uložit i ukazatel intmax_t, uintmax_t – max.šířka

Přednáška C++ č.113 Deklarace a definice Deklarace informuje o možné existenci objektu Definice přikazuje jej vytvořit Identifikátory: v C 31znaků, v C zn.

Přednáška C++ č.114 Bloky a skoky Bloky obsahují definici Skok – goto navesti – navesti: switch používá návěští Nelze skočit do bloku

Přednáška C++ č.115 Standardní vstupy a výstupy cout << výraz << výraz… cin >> proměnná >> proměnná… Použít hlavičkový soubor a uvést příkaz using namespace std;

Přednáška C++ č.116 Objekty Koncepce objektů jazyka C++ byla převzata z jazyka Simula 67. Objekty (třídy) jsou pojaty jako přirozené rozšíření datových struktur jazyka C o možnost vkládání členských funkcí. C++ umožňuje řídit viditelnost složek objektů pro ostatní části programu. Pro objekty je možná vícenásobná dědičnost.Simula 67Objekty

Přednáška C++ č.117 Dědičnost Pod tímto pojmem se skrývá asi ta největší zbraň OOP. Hlavní myšlenka dědičnosti je znovupoužitelnost, to znamená, že můžeme vytvářet nové třídy založené na třídě, která již byla definována, místo toho abychom museli znovu psát již jednou napsaný kód jen s jinými typy proměnných. Díky dědičnosti je možné napsat kód jednou pro obecnější typ a poté ho používat pro všechny jeho potomky. OOP

Přednáška C++ č.118 Šablony Šablony dále rozšiřují znovupoužitelnost kódu, neboť umožňují napsat kód se zcela obecným (neurčeným) datovým typem. Jsou užitečné především pro základní typy, které v C++ nejsou objekty: mnohé jiné jazyky mohou dosáhnout stejné funkcionality použitím kořene objektové hierarchie.

Přednáška C++ č.119 Přetěžování (Polymorfizmus) funkcí a operátorů Jazyk C++ umožňuje deklarovat více funkcí se stejným názvem. Kompilátor určí správné použití podle počtu a typu parametrů. Tato technika se nazývá přetěžování funkcí. Velmi silnou vlastností jazyka je i možnost přetěžovat standardní operátory (například '+' nebo '=') a tak přirozeně využívat tyto operátory pro nově vytvářené třídy a tvorbu abstraktních datových typů.abstraktních datových typů

Přednáška C++ č.120 Standardní knihovna Standard jazyka C++ z roku 1998 se skládá ze dvou částí: popis jazyka a standardní knihovny. Standardní knihovna jazyka C++ obsahuje mírně modifikovanou verzi standardní knihovny jazyka C a Standard Template Library (STL).1998CStandard Template Library

Přednáška C++ č.121 Vývojové nástroje Borland C++Builder - vizuální vývojové prostředí pro platformu Windows i Linux (přenositelnost zdrojového kódu) - viz C++Builder)Borland C++BuilderWindowsLinuxC++Builder MS Visual C++ - vývojové prostředí společnosti Microsoft - viz Visual C++MS Visual C++ MicrosoftVisual C++ KDevelop - vývojové prostředí pro OS GNU/Linux, podporuje množství jazyků.KDevelopmnožství jazyků