načítání...


menu
nákupní košík
Košík

je prázdný
a
b

Kniha: Programovací jazyk C++ 2. díl – Miroslav Virius

Programovací jazyk C++ 2. díl
-15%
sleva

Kniha: Programovací jazyk C++ 2. díl
Autor: Miroslav Virius

Druhý díl výukového textu k přednášce Programování v C++ obsahuje jeden rozsáhlý úvodní příklad a pokrývá především následující témata: objektově orientované programování v C++, přetěžování operátorů, šablony a jejich použití, výjimky ... (celý popis)
Titul doručujeme za 5 pracovních dní
Vaše cena s DPH:  374 Kč 318
+
-
rozbalKdy zboží dostanu
10,6
bo za nákup
rozbalVýhodné poštovné: 49Kč
rozbalOsobní odběr zdarma

hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%   celkové hodnocení
0 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » ČVUT Praha
Médium / forma: Tištěná kniha
Rok vydání: 2018
Počet stran: 304
Rozměr: 210x297
Úprava: 3 svazky (299; 303; 342 stran): ilustrace
Vydání: 1. vydání
Skupina třídění: Programování. Software
Učební osnovy. Vyučovací předměty. Učebnice
Jazyk: česky
Datum vydání: 24.07.2018
ISBN: 978-80-01-06050-6
EAN: 9788001060506
Ukázka: » zobrazit ukázku
Popis

Druhý díl výukového textu k přednášce Programování v C++ obsahuje jeden rozsáhlý úvodní příklad a pokrývá především následující témata: objektově orientované programování v C++, přetěžování operátorů, šablony a jejich použití, výjimky včetně nestandardního rozšíření používaného v C++ na PC, práci s datovými typy za běhu programu (dynamickou identifikaci typů) a v době překladu (pojmy koncepty) a jmenné prostory. Vychází ze standardu ISO/IEC 14888:2011, uvádí ale i většinu novinek z připravované revize standardu očekávané v roce 2017. Výklad doprovázejí příklady zdrojového kódu.

Předmětná hesla
Kniha je zařazena v kategoriích
Miroslav Virius - další tituly autora:
Od C++ k C sharp Od C++ k C sharp
Programovací jazyk C++  1. díl Programovací jazyk C++ 1. díl
Pokročilé programovací techniky Pokročilé programovací techniky
Programovací jazyk C++ 3. díl Programovací jazyk C++ 3. díl
Základy programování v C++ Základy programování v C++
Programování pro .NET Programování pro .NET
 
Ke knize "Programovací jazyk C++ 2. díl" doporučujeme také:
Programovací jazyk C++ 3. díl Programovací jazyk C++ 3. díl
Programovací jazyk C++  1. díl Programovací jazyk C++ 1. díl
 
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

Obsah

Předmluva 3

Obsah 6

1 Seznam H

1.1 Seznam - první verze....................................................................................................... 11

1.1.1 Návrh třídy seznam ............................................................................................. 11

1.1.2 Im plem entace....................................................................................................... 12

1.1.3 Zkoušíme třídu seznam ....................................................................................... 17

1.2 Kopírování in stan cí.......................................................................................................... 18

1.2.1 Zákaz kopírování................................................................................................ 19

1.2.2 Implementace kopírovacího konstruktoru....................................................... 20

1.3 Přiřazování instancí.......................................................................................................... 21

1.3.1 Zákaz přiřazování................................................................................................ 22

1.3.2 Implementace přiřazovacího operátoru .......................................................... 22

1.4 Jednotná inicializace a konstantní seznam y.................................................................. 23

1.4.1 Jednotná inicializace.......................................................................................... 24

1.4.2 Konstantní sezn am ............................................................................................. 25

1.5 Spojování sezn am ů .......................................................................................................... 27

1.5.1 Operátor + = .......................................................................................................... 27

1.5.2 Operátor + .......................................................................................................... 29

1.6 Stěhování neboli tunelování (C + + 1 1 )............................................................................ 29

1.6.1 Tunelovací konstruktor třídy s e z n a m ............................................................. 30

1.6.2 Tunelovací přiřazovací operátor třídy seznam................................................ 31

1.7 Šablonová im plem entace................................................................................................ 31

1.7.1 Úprava stávající implementace.......................................................................... 32

1.7.2 Funkce vytvoř_ seznam( ) ................................................................................... 35

1.8 Typ hodnot ukládaných do seznamu ........................................................................... 38

1.8.1 Požadavky kladené na typ h o d n o t................................................................... 38

1.8.2 P o jm y .................................................................................................................... 39

2 Objektově orientované

programování 41

2.1 Objektový ty p .................................................................................................................... 41

2.1.1 Deklarace objektového t y p u ............................................................................. 41

2.1.2 Datové slo žk y ....................................................................................................... 43

2.1.3 M e to d y ................................................................................................................ 45

6


OBSAH

2.1.4 Obvyklá struktura programu s objekty v C + + ............................................. 51

2.1.5 Specifikace přístupu............................................................................................. 52

2.1.6 P řátelé................................................................................................................... 54

2.1.7 Statické složky t ř í d ............................................................................................. 55

2.1.8 Deklarace typu v těle tříd y ................................................................................ 58

2.2 Inicializace, konstruktory a destruktory....................................................................... 60

2.2.1 Agregát a jeho inicializace................................................................................ 60

2.2.2 Konstruktory a d e stru k to ry ............................................................................. 61

2.2.3 K onstruktory....................................................................................................... 62

2.2.4 Použití konstruktorů.......................................................................................... 66

2.2.5 Kopírování a stěhování obsahu in stan cí.......................................................... 72

2.2.6 D estruktory.......................................................................................................... 75

2.3 Třídy, struktury a u n ie ................................................................................................... 77

2.3.1 Struktury a tř í d y ................................................................................................ 77

2.3.2 U n ie ...................................................................................................................... 78

3 D ědění a polymorfismus 79

3.1 Syntaktická p ra v id la ...................................................................................................... 79

3.2 Nevirtuální dědění .......................................................................................................... 80

3.2.1 Dědění a přístupová p rá v a ................................................................................ 81

3.2.2 Konflikt jm e n ....................................................................................................... 83

3.2.3 Třída je oblast viditelnosti deklarace............................................................. 84

3.3 Virtuální dědění................................................................................................................ 85

3.4 Potomek může zastoupit p řed k a................................................................................... 87

3.4.1 Přetypování instance potomka na p řed k a...................................................... 87

3.4.2 Přetypování ukazatele na potomka na ukazatel na p řed k a......................... 88

3.4.3 Přetypování předka na potom ka....................................................................... 89

3.4.4 Přiřazení, parametry, reference.......................................................................... 89

3.5 Konstruktory, destruktory a d ě d ě n í............................................................................. 90

3.5.1 Volání konstruktoru virtuálního p řed k a.......................................................... 93

3.5.2 Dědění konstruktorů (C + + 11).......................................................................... 94

3.6 Polymorfismus (virtuální m etody)................................................................................ 96

3.6.1 Časná a pozdní vazba ...................................................................................... 98

3.6.2 Abstraktní třídy a čistě virtuální m etody.........................................................101

3.6.3 Finální metody a finální třídy (C++11) 102

3.6.4 Implementace polymorfismu................................................................................103

3.6.5 Konstruktory, destruktory a virtuální m e to d y ............................................... 104

3.7 Třídní ukazatele...................................................................................................................104

4 Přetěžování operátorů 107

4.1 Základní pravidla................................................................................................................107

4.1.1 Operátorové funkce................................................................................................108

4.2 Běžné operátory...................................................................................................................108

4.2.1 Unární o p eráto ry ...................................................................................................108

4.2.2 Binární operátory...................................................................................................113

4.3 Operátory přetěžovatelné jen jako m e to d y .................................................................... 116

4.3.1 Operátor indexování [ ] ......................................................................................... 116

7


OBSAH

4.3.2 Operátor volání funkce ( ) ................................................................................... 119

4.3.3 Přiřazovací operátor = ..........................................................................................120

4.3.4 Operátor nepřímého přístupu -> 123

4.3.5 Operátor přetypování.............................................................................................125

4.4 Operátory new a delete...................................................................................................... 128

4.4.1 Globální operátory new a d elete..........................................................................128

4.4.2 Operátory new a delete jako metody objektových t y p ů ................................133

4.4.3 Delete s dodatečnými parametry .......................................................................135

4.5 Uživatelem definované literály (C++11) 135

4.5.1 Pravidla definice lite rá lu .......................................................................................136

4.5.2 Funkce pro uživatelské literály.............................................................................137

4.5.3 Volání odpovídající funkce................................................................................... 138

5 Šablony 143

5.1 Deklarace šablony................................................................................................................ 143

5.1.1 Parametry ša b lo n y ................................................................................................ 144

5.2 Šablony objektových t y p ů ................................................................................................ 146

5.2.1 Šablony metod .......................................................................................................148

5.2.2 Šablony statických datových slo ž e k .....................................................................149

5.2.3 Instance šablony ................................................................................................... 150

5.2.4 Vnořené šablony.......................................................................................................151

5.2.5 Typ jako složka ty p u .............................................................................................152

5.3 Šablony funkcí.......................................................................................................................153

5.3.1 Instance šablony volné fu n k c e .............................................................................154

5.3.2 Přetěžování šablon funkcí ................................................................................... 156

5.3.3 Spřátelené funkce a ša b lo n y ................................................................................ 160

5.4 Šablony aliasu a šablony prom ěnných.............................................................................164

5.4.1 Šablony aliasu (C + + 1 1 ).......................................................................................164

5.4.2 Šablony proměnných (C ++14).............................................................................165

5.5 Explicitní generování in s ta n c í..........................................................................................166

5.6 Vazba j m e n ..........................................................................................................................167

5.6.1 Specifikace te m p la te .............................................................................................167

5.7 Částečná specializace šablon objektových ty p ů .............................................................168

5.7.1 Deklarace částečné specializace ..........................................................................168

5.8 Šablonové metaprogramování ...................................................................................173

5.8.1 Základní n á stro je................................................................................................... 173

5.9 Šablony s proměnným počtem parametrů (C + + 1 1 ).....................................................179

5.9.1 Balík param etrů.......................................................................................................179

5.9.2 Použití balíku param etrů.......................................................................................179

5.9.3 Redukce balíku (C + + 17).......................................................................................185

5.9.4 Použití variadických šablon ................................................................................ 187

5.10 Automatické odvození typu parametru (C + + 1 7 )...........................................................193

5.10.1 Základní použití.......................................................................................................194

5.10.2 Použití v balíku parametrů šablon.......................................................................195

5.11 Generické lambda-výrazy (C + + 1 4 )................................................................................ 196

5.11.1 Syntax generického lam bda-výrazu................................................................... 196

5.11.2 Jak je generický lambda-výraz implementován................................................196

8


OBSAH

5.12 Organizace program u......................................................................................................198

5.12.1 Současné p řek lad ače..........................................................................................199

6 Výjim ky 201

6.1 O co j d e ................................................................................................................................201

6.2 Výjimky v C + + ....................................................................................................................202

6.2.1 Základní p o jm y ...................................................................................................... 202

6.2.2 Syntax nástrojů pro práci s výjim kam i..............................................................203

6.2.3 Když vznikne v ý jim k a ......................................................................................... 204

6.2.4 O b slu h a...................................................................................................................207

6.2.5 Výjimky a funkce...................................................................................................211

6.2.6 Výjimky a alokace p a m ě ti...................................................................................218

6.2.7 Výjimky v o b s lu z e ................................................................................................219

6.2.8 Výjimkový o b jek t...................................................................................................220

6.2.9 Neošetrené a neočekávané výjimky ...................................................................220

6.2.10 Standardní výjim ky................................................................................................221

6.2.11 Vnořené výjimky (C + + 1 1 )...................................................................................223

6.2.12 Třída system _error................................................................................................225

6.3 Strukturované výjimky v jazyce C ...................................................................................225

6.3.1 První přiblížení......................................................................................................225

6.3.2 Přenos informací o výjimce...................................................................................226

6.3.3 Syntax strukturovaných výjimek......................................................................... 227

6.3.4 Vznik strukturovaných v ý jim e k ......................................................................... 229

6.3.5 F i l t r ......................................................................................................................... 230

6.3.6 Koncovka b lo k u ......................................................................................................232

6.3.7 Neošetřené výjim ky................................................................................................236

6.3.8 Strukturované výjimky a C + + ............................................................................ 237

7 Datové typy za běhu programu 238

7.1 Dynamická identifikace ty p ů ............................................................................................ 238

7.1.1 Operátor ty p eid ...................................................................................................... 238

7.2 Přetypování......................................................................................................................... 241

7.2.1 Přetypovací o p e rá to ry ......................................................................................... 241

8 Jm enné prostory 250

8.1 O co vlastně jd e ...................................................................................................................250

8.2 Deklarace jmenného prostoru ......................................................................................... 250

8.2.1 Deklarace po částech............................................................................................ 254

8.2.2 Anonymní jmenný p ro s to r...................................................................................255

8.2.3 Vložený jmenný prostor (C + + 1 1 )......................................................................255

8.3 Zpřístupnění jmenného prostoru......................................................................................257

8.3.1 Přezdívka (alias) jmenného prostoru ................................................................257

8.3.2 Deklarace a direktiva using...................................................................................258

8.4 Jmenné prostory a t ř í d y ...................................................................................................260

8.5 Vyhledávání funkcí a o p e rá to rů ...................................................................................... 260

9


OBSAH

9 Pojm y a koncepty 263

9.1 Knihovní pojmy . . .............................................................................................................263

9.2 Koncepty (C + + 1 7 )............................................................................................................ 268

9.2.1 Oč j d e ....................................................................................’ ............................ 268

9.2.2 Zástupné symboly...................................................................................................270

9.2.3 Zkrácená deklarace šablony ................................................................................271

9.2.4 Koncepty ................................................................................................................272

9.2.5 O m ezení...................................................................................................................273

9.2.6 Požadavky (requires)............................................................................................ 276

9.2.7 Další pravidla......................................................................................................... 280

10 Dodatek 281

10.1 Příkazy................................... ' ...........................................................................................281

10.1.1 Příkaz s w itc h ......................................................................................................... 281

10.1.2 Příkaz i f ...................................................................................................................283

10.2 Deklarace, prom ěnné......................................................................................................... 285

10.2.1 Vložené proměnné ................................................................................................285

10.2.2 Specifikátor auto a seznam inicializátorů.........................................................286

10.2.3 Vazba s tr u k tu r ...................................................................................................... 286

10.2.4 Znakový literál v U T F -8 ...................................................................................... 289

10.2.5 Deklarace výčtového t y p u ...................................................................................289

10.3 Moduly ................................................................................................................................289

10.3.1 V ý zn am ................................................................................................................... 289

10.3.2 Deklarace m odulu...................................................................................................289

10.3.3 Import m o d u lu ...................................................................................................... 291

10.3.4 Závěrečné poznám ky.............................................................................................292

Literatura 293

Rejstřík 296

10




       
Knihkupectví Knihy.ABZ.cz – online prodej | ABZ Knihy, a.s.