Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20
-
Inloggen
-- Inloggen
  • accountoverzicht
  • bestellingen
  • facturen betalen
  • downloadcentrum
  • summaries
  • gegevens
  • nieuwsbrief
  • partnerprogramma
  • financieel
  • inloggen
  • uitloggen

Uw winkelwagen

Naar winkelwagen Verder winkelen
Managementboeken
Alle managementboeken
  • Direct naar
    • Managementboek TOP 100
    • AI-books
    • Leiderschap
    • Auteur in de spotlight
    • Online Magazine
  • Rubrieken
    • Advisering
    • Algemeen management
    • Coaching en trainen
    • Communicatie en media
    • Economie
    • Financieel management
    • Inkoop en logistiek
    • Internet en social media
    • IT-management / ICT
    • Juridisch
    • Leiderschap
    • Marketing
    • Mens en maatschappij
    • Non-profit
    • Ondernemen
    • Organisatiekunde
    • Personal finance
    • Personeelsmanagement
    • Persoonlijke effectiviteit
    • Projectmanagement
    • Psychologie
    • Reclame en verkoop
    • Strategisch management
    • Verandermanagement
    • Werk en loopbaan
Overige boeken
Alle overige boeken
  • Direct naar
    • Bestseller 60
    • Fictie TOP 20
    • Non-fictie TOP 20
    • Spanning TOP 20
    • Jeugd TOP 10
    • Culinair TOP 10
  • Rubrieken
    • Cadeauboeken
    • Computer en informatica
    • Economie
    • Filosofie
    • Flora en fauna
    • Geneeskunde
    • Geschiedenis
    • Gezondheid
    • Informatief / professioneel
    • Jeugd
    • Juridisch
    • Koken en eten
    • Kunst en cultuur
    • Literatuur en romans
    • Mens en maatschappij
    • Naslagwerken
    • Paramedisch
    • Psychologie
    • Reizen
    • Religie
    • Schoolboeken
    • Spiritualiteit
    • Sport, hobby, lifestyle
    • Thrillers en spanning
    • Wetenschap en techniek
    • Woordenboeken en taal
Interactief leren
Alle seminars & trainingen
  • Direct naar
    • Live events
    • Online training
    • AI-Books
  • Online Magazine
    • Previews
    • Recensies
    • Interviews
    • Podcasts
    • Videos
  • Volg ons op
    • Spotify
    • YouTube
    • Instagram
    • Linkedin
Attenderingen
Attenderingen instellen
  • Algemeen
    • Recht op u af
    • Juridische attendering
    • Hiatensignalering juridisch
    • Seriesignalering
    • Herdruksignalering
    • Internationaal
  • Aanbevolen per ministerie
    • Algemene Zaken
    • Binnenlandse Zaken en Koninkrijksrelaties
    • Buitenlandse Zaken
    • Defensie
    • Economische Zaken en Klimaat
    • Financiën
    • Infrastructuur en Waterstaat
    • Justitie en Veiligheid
    • Landbouw, Natuur en Voedselkwaliteit
    • Onderwijs, Cultuur en Wetenschap
    • Nationale Politie
    • Sociale Zaken en Werkgelegenheid
    • Volksgezondheid, Welzijn en Sport
Periodieken
Alle periodieken
  • Algemeen
    • Uw periodieken
    • Verlengen / opzeggen
    • Openstaande claims
    • Bibliografische wijzigingen
    • Abonnementshouders
    • Afleveradressen
    • Referenties
    • Notities
  • Aanbevolen per ministerie
    • Algemene Zaken
    • Binnenlandse Zaken en Koninkrijksrelaties
    • Buitenlandse Zaken
    • Defensie
    • Economische Zaken en Klimaat
    • Financiën
    • Infrastructuur en Waterstaat
    • Justitie en Veiligheid
    • Landbouw, Natuur en Voedselkwaliteit
    • Onderwijs, Cultuur en Wetenschap
    • Nationale Politie
    • Sociale Zaken en Werkgelegenheid
    • Volksgezondheid, Welzijn en Sport
Boekseries
Alle boekseries
  • Algemeen
    • Uw serieabonnementen
    • Geadresseerden
    • Abonnementshouders
    • Afleveradressen
    • Referenties
    • Notities
  • Aanbevolen per ministerie
    • Algemene Zaken
    • Binnenlandse Zaken en Koninkrijksrelaties
    • Buitenlandse Zaken
    • Defensie
    • Economische Zaken en Klimaat
    • Financiën
    • Infrastructuur en Waterstaat
    • Justitie en Veiligheid
    • Landbouw, Natuur en Voedselkwaliteit
    • Onderwijs, Cultuur en Wetenschap
    • Nationale Politie
    • Sociale Zaken en Werkgelegenheid
    • Volksgezondheid, Welzijn en Sport
Nu lezen
Online Magazine
  • Direct naar
    • Recensies
    • Interviews
    • Previews
    • Opinie
    • Actueel
    • Podcasts
    • Videos
  • Lees over
    • Algemeen management
    • Coachen en trainen
    • Leiderschap
    • Marketing
    • Organisatiekunde
    • Strategisch management
    • Verandermanagement
    • meer onderwerpen...
  • Recente artikelen
010-4731397
Klantenservice
Mijn account
Mijn bestellingen
010-4731397
Boeken IT-management / ICT Aan de slag met C++
Aan de slag met C++
Gertjan Laan

Gertjan Laan (www.gertjanlaan.nl) was als docent werkzaam in het hoger onderwijs. Hij gaf jaren les in wiskunde en programmeertalen, waaronder C++ en Java.

Meer over Gertjan Laan
Gertjan Laan

Aan de slag met C++

Paperback Nederlands 2021 7e druk 9789024438617
Verkooppositie 5247Hoogste positie: 5247
Vandaag voor 23:00 besteld, morgen in huis
65,50
In winkelwagen
 
Stel een vraag over dit boek
Samenvatting Specificaties Over de auteur Inhoudsopgave

Samenvatting

Deze geheel herziene zevende druk van ‘Aan de slag met C++’ is een grondige kennismaking met de objectgeoriënteerde programmeertaal C++ volgens de laatste standaarden C++11 en C++14.

In een heldere, aansprekende stijl zet de auteur eerst de basisprincipes van de taal uiteen, waarna in het tweede gedeelte onder meer het ontwerpen van klassen aan de orde komt, en het werken met objecten, overerving, dynamisch geheugen, templates, polymorfie, streams en exceptionhandling. Daar waar nodig verhelderen UML-klassendiagrammen de broncode.Verder biedt dit boek een nauwkeurige en leesbare inleiding in alle belangrijke begrippen uit de standaardbibliotheek (STL) zoals vector, list, stack, queue, deque, iterator, algoritmen, functieobjecten en lambdafuncties.

In de zevende druk is alle code in het boek is aangepast aan de laatste versie van C++. Zo wordt het gebruik van het globale statement ‘using namespace std;’ zoveel mogelijk vermeden. Uniforme initialisatie wordt vrijwel overal toegepast. In deze editie is er ook aandacht voor containerklassen uit de STL. De vele veranderingen en uitbreidingen die de taal de afgelopen jaren heeft ondergaan passeren zoveel mogelijk de revue.

Via de website is aanvullend materiaal beschikbaar: de broncode van alle voorbeelden uit het boek en antwoorden op de vragen en uitwerkingen van de opdrachten die aan het eind van elk hoofdstuk aan de orde komen.

Specificaties

ISBN13:9789024438617
Trefwoorden:basisbibliotheek, Programmeren, C++, Programmeertalen
Taal:Nederlands
Bindwijze:paperback
Aantal pagina's:560
Uitgever:Boom
Druk:7
Verschijningsdatum:10-6-2021
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!
Schrijf een recensie
Lees ons recensiebeleid
Uw cijfer
?
Log in om te stemmen

Over Gertjan Laan

Gertjan Laan (www.gertjanlaan.nl) was als docent werkzaam in het hoger onderwijs. Hij gaf jaren les in wiskunde en programmeertalen, waaronder C++ en Java. Hij is auteur van diverse succesvolle boeken, waaronder Aan de slag met Java, Aan de slag met Ruby, Datastructuren in Java, OO-programmeren in Java met BlueJ.

Andere boeken door Gertjan Laan

Bekijk alle boeken

Inhoudsopgave

Voorwoord bij de zevende druk 19

1 Introductie 21
1.1 Inleiding 21
1.2 De preprocessor, compiler en linker 21
1.3 Eerste voorbeeld 23
1.3.1 Toelichting bij het eerste voorbeeld 24
1.3.2 Declaratie van variabelen 25
1.4 Namespaces 27
1.4.1 Over using namespace std 29
1.5 Getaltypen 29
1.5.1 Expressies: de operatoren +, -, *, / en % 32
1.5.2 Typeconversie 33
1.5.3 De typecast 34
1.5.4 Assignment-operatoren 35
1.5.5 Uniforme initialisatie 36
1.5.6 De increment-operator ++ en de decrement-operator -- 37
1.5.7 De naam C++ 38
1.5.8 Postfix en prefix 38
1.5.9 Prioriteiten 39
1.6 Literals en constanten 39
1.6.1 Constanten 41
1.6.2 Constante expressie: constexpr 42
1.7 De scope van variabelen en constanten 43
1.8 Het type char 44
1.8.1 ASCII-code 45
1.8.2 Escape sequences 46
1.8.3 Literals van het type char 48
1.9 De typeaanduiding auto en decltype 49
1.10 De opmaak van de broncode 50
1.11 Samenvatting 50
1.12 Vragen 51
1.13 Opgaven 53

2 Selecties en herhalingen 57
2.1 Inleiding 57
2.1.1 Relationele operatoren 57
2.1.2 Logische operatoren: de en-operator && 58
2.1.3 Een bool-variabele 60
2.2 Het if-statement 61
2.3 Het if-else-statement 63
2.3.1 Over cin 65
2.4 Het switch-statement 65
2.4.1 Wat niet kan met een switch-statement 67
2.5 Het for-statement 68
2.5.1 Controlegedeelte van het for-statement 69
2.5.2 Zet geen puntkomma na het controlegedeelte 71
2.5.3 De scope van de controlevariabele 71
2.6 Recht onder elkaar zetten van gehele getallen 72
2.6.1 De manipulator setfill() 74
2.6.2 De manipulatoren hex, oct en dec 75
2.6.3 Het gebruik van setw() met tekst 76
2.6.4 Links of rechts uitlijnen 77
2.6.5 Het uitvoerformaat van floating-pointgetallen 78
2.7 Variaties met een for-statement 79
2.7.1 For-statement waarvan de body niet wordt uitgevoerd 82
2.8 Het enumerated type 83
2.8.1 strongly typed (scoped) enumerations 85
2.9 Het while-statement 86
2.9.1 Syntax van het while-statement 86
2.10 Het do-while-statement 88
2.10.1 De invoerbuffer 90
2.11 De oneindige loop 90
2.12 Het break-statement 92
2.13 Controleren van de invoer 94
2.14 Het continue-statement 95
2.15 Algoritmen: een loop binnen een loop 97
2.15.1 Genest for-statement 97
2.15.2 Het omgekeerde probleem 98
2.16 Samenvatting 102
2.17 Vragen 102
2.18 Opgaven 104

3 Functies 111
3.1 Inleiding 111
3.2 Een eenvoudige functie 111
3.2.1 Prototype 112
3.2.2 Implementatie van de functie 112
3.2.3 Functieaanroep 113
3.3 Een functie met argumenten 113
3.3.1 Voordeel van een functie met argumenten 116
3.3.2 Actuele en formele argumenten 116
3.3.3 Nog een functie 117
3.3.4 Defaultargumenten 118
3.4 Wiskundige functies 119
3.4.1 C++-library 119
3.5 Functies die een waarde afleveren 121
3.6 Gestructureerd programmeren en functies 122
3.7 Functies die geen waarde afleveren 125
3.8 Een constexpr-functie 125
3.9 Richtlijnen bij het schrijven van functies 126
3.10 Prototyping, aanroep, implementatie en volgorde 126
3.10.1 Het prototype of de declaratie van de functie 127
3.10.2 De functieaanroep 127
3.10.3 De definitie of implementatie van de functie 128
3.10.4 De volgorde van functies 128
3.10.5 Splitsen van header en implementatie 129
3.11 Lokale variabelen 130
3.11.1 De argumenten van een functie 132
3.12 Statische en globale variabelen 132
3.12.1 Statische variabelen 132
3.12.2 Initialisatie van statische variabelen 134
3.12.3 Globale variabelen 134
3.12.4 Globale en lokale variabelen met dezelfde naam 136
3.13 Reference-argument 136
3.13.1 Wanneer gebruik je een reference-argument? 138
3.14 Uitbreiding van de richtlijnen voor het schrijven van een functie 139
3.14.1 De functie verwissel() 140
3.15 Een functie die een referentie aflevert 142
3.16 Functieoverlading 145
3.16.1 Overladen op grond van aantal argumenten 145
3.16.2 Pre- en postcondities 147
3.16.3 Overladen op grond van type van de argumenten 147
3.17 Samenvatting 148
3.18 Vragen 149
3.19 Opgaven 150

4 C-arrays en pointers 153
4.1 Inleiding 153
4.2 Het geheugen 153
4.2.1 Bytes 153
4.2.2 Bits 154
4.2.3 Adressen 155
4.3 Arrays 157
4.3.1 Een C-array van doubles 159
4.3.2 De bovengrens van een array 160
4.3.3 Initialisatie van een C-array 161
4.3.4 De grootte van een C-array bepalen met sizeof 162
4.3.5 C-arrays en andere variabelen tegelijk declareren 163
4.4 Algoritme: zoeken van de grootste waarde in een C-array 163
4.5 C-array als argument van een functie 164
4.5.1 Nogmaals: zoeken van de grootste waarde in C-array 165
4.6 Een const-arrayargument 166
4.6.1 Algoritme: zoeken van een getal in een C-array 167
4.7 Range-based for 168
4.8 Tweevoudige arrays 169
4.8.1 Initialiseren van een tweevoudige C-array 170
4.8.2 Een tweevoudige C-array als argument van een functie 172
4.8.3 Een speelbord voor boter, kaas en eieren 174
4.9 Voor- en nadelen van C-arrays 177
4.10 Pointers 179
4.10.1 Opmerkingen over notaties bij het gebruik van pointers 181
4.11 De elementen van een C-array langslopen met een pointer 183
4.11.1 Opschuiven van een pointer naar double 185
4.11.2 Rekenen met pointers 186
4.11.3 De betekenis van *p++ 186
4.12 Pointers en arraynotatie 187
4.13 Een nullptr 188
4.14 Een adres als functiewaarde 189
4.14.1 Pointers naar een constante 191
4.14.2 Pointer-constante 192
4.15 Een const-pointer als argument 193
4.16 Pointer naar een functie 195
4.17 Typedef 198
4.17.1 Typedef voor functiepointer 199
4.18 Samenvatting 200
4.19 Vragen 201
4.20 Opgaven 201

5 Strings en vectoren 207
5.1 Inleiding 207
5.2 C-strings 207
5.3 Een string-object 208
5.3.1 Invoer van strings vanaf het toetsenbord 210
5.3.2 Combineren van cin en getline() 211
5.3.3 Invoerbuffer leegmaken 213
5.4 Samenvoegen en conversie 214
5.4.1 Uitvoer naar een string met een stream 215
5.5 Een paar functies van de klasse string 216
5.5.1 De lidfuncties length() en size() 216
5.5.2 De lidfunctie substr() 216
5.5.3 De lidfunctie replace() 217
5.5.4 De lidfunctie find() 217
5.5.5 De lidfunctie c_str() 219
5.6 Vergelijken van strings 219
5.7 Een iterator voor een string 220
5.7.1 Range-based for-statement en string 222
5.7.2 Omzetten van een string in hoofdletters 222
5.7.3 String omkeren 224
5.8 Vectoren 227
5.8.1 Een vector declareren en vullen 227
5.8.2 Iterator voor een vector 228
5.8.3 Auto, range-based for-statement en vector 229
5.8.4 Een vector initialiseren 230
5.8.5 Kopiëren van een vector 232
5.8.6 Een printfunctie voor een int-vector 232
5.8.7 De indexoperator van een vector 234
5.8.8 Het groeien van een vector 235
5.9 Functies van de klasse std::vector 237
5.10 De containerklasse array 238
5.11 Samenvatting 239
5.12 Vragen 240
5.13 Opgaven 240

6 Klassen maken 243
6.1 Inleiding 243
6.2 Een klasse voor bankrekeningen 243
6.2.1 Klassendiagram 244
6.2.2 De broncode van de klasse Bankrekening 244
6.2.3 Een constructor 245
6.2.4 De constructor toevoegen en aanroepen 246
6.2.5 Bankrekening-objecten maken 246
6.2.6 Uniforme initialisatie 247
6.2.7 De functie to_string() 248
6.2.8 Meer functies voor de klasse Bankrekening 249
6.2.9 De functie stort() 249
6.2.10 De functie neem_op() 250
6.2.11 De functie get_saldo() 250
6.2.12 Het nieuwe klassendiagram van Bankrekening 250
6.2.13 Nieuwe broncode van Bankrekening 251
6.3 Een klasse voor studenten 253
6.3.1 De attributen 253
6.3.2 Getters en setters 254
6.3.3 De broncode van de klasse Student 255
6.4 Data hiding 257
6.5 Een klasse voor datums 258
6.5.1 Implementatie van Datum 259
6.5.2 Const lidfuncties 260
6.5.3 Defaultwaarden voor constructor 261
6.6 Relatie tussen klassen 261
6.6.1 Een initialisatielijst 265
6.6.2 Een const reference-argument 266
6.7 Objecten 266
6.8 De kassa 267
6.8.1 Automatische defaultconstructor 268
6.8.2 Attribuut voor de kassa 268
6.8.3 Zelfgemaakte defaultconstructor 269
6.8.4 Een paar functies voor de kassa 269
6.8.5 Lidfuncties buiten de klasse definiëren 269
6.8.6 De scope-operator :: 271
6.8.7 Over inline functies 272
6.9 Over constructors 273
6.9.1 Constructor-overloading 273
6.9.2 Constructor met defaultargumenten 275
6.9.3 Constructor-overloading en defaultargumenten 275
6.9.4 Delegerende (delegating) constructor 276
6.9.5 Initialiseren van een constante in een klasse 277
6.9.6 Directe initialisatie van attributen 277
6.9.7 Een constexpr-constructor 278
6.9.8 Expliciete defaultconstructor 279
6.9.9 Constructor en delete 281
6.10 Het keyword struct 281
6.11 Samenvatting 282
6.12 Vragen 282
6.13 Opgaven 283

7 Objectgeoriënteerd ontwerpen 287
7.1 Inleiding 287
7.2 Teams van studenten 287
7.2.1 De copy-constructor 290
7.2.2 Twee kopieën of niet? 291
7.3 De klasse Team met een vector 292
7.3.1 Klassendiagram met een collectie 294
7.3.2 Compositie en aggregatie 295
7.3.3 Multipliciteiten in UML 296
7.4 Documentatie maken 297
7.4.1 Het schrijven van tekst voor doxygen 298
7.4.2 Genereren van de documentatie 300
7.5 Een winkel 301
7.5.1 Analyse 302
7.5.2 Een lijst van de zelfstandige naamwoorden 302
7.5.3 De klassen 303
7.5.4 De associaties 303
7.5.5 Navigeerbaarheid 304
7.5.6 Het type van de attributen 304
7.5.7 De functies 304
7.5.8 De broncode van de klasse Artikel 305
7.5.9 De broncode van de klasse Catalogus 306
7.5.10 Nogmaals over navigeerbaarheid 307
7.5.11 De broncode van de klasse Bestelling 307
7.6 Sms-dienst 307
7.6.1 Analyse van de sms-dienst 308
7.6.2 De lidfuncties 309
7.6.3 De broncode van SMS 310
7.6.4 De broncode van Provider 311
7.6.5 De pijloperator 312
7.6.6 De broncode van Mobiel 312
7.6.7 Forward declaratie 313
7.7 Samenvatting 314
7.8 Vragen 315
7.9 Opgaven 315

8 Conversie en operatoren 319
8.1 Inleiding 319
8.2 Constructors en conversie 320
8.2.1 Het woord explicit 320
8.2.2 Initialisatie met een string 321
8.2.3 Conversie na de initialisatie 322
8.2.4 Voorwaardelijke compilatie 324
8.2.5 Expliciet aanroepen van een constructor 325
8.3 Operator overloading 326
8.3.1 Unaire, binaire en ternaire operatoren 326
8.3.2 Een somfunctie 328
8.3.3 Tijdelijk object door een constructor laten maken 330
8.3.4 Een operator + in plaats van een somfunctie 330
8.3.5 Welke operatoren mag je overladen? 333
8.3.6 Overladen van unaire en binaire operatoren 333
8.3.7 Overladen van een toekenningsoperator 334
8.3.8 De pointer this 335
8.4 Globale en friend-operatoren 337
8.4.1 De friend-operator*() 338
8.4.2 Implementatie van friend buiten de klasse 340
8.4.3 Een globale operatorfunctie 341
8.4.4 Een insertion- of uitvoeroperator 342
8.5 Conversie van klasse naar een standaardtype 343
8.6 Conversie tussen klassen 344
8.7 Vragen 348
8.8 Opgaven 349

9 Overerving 353
9.1 Inleiding 353
9.2 Een basisklasse 353
9.3 Afgeleide klasse 355
9.3.1 Private, public en protected 356
9.3.2 Defaultconstructor van de basisklasse 358
9.3.3 Eigen constructor voor afgeleide klasse 358
9.4 Functie-overriding 360
9.5 Generalisatie 363
9.5.1 Aanroepen van functie in basisklasse 369
9.6 Afgeleide klasse van een afgeleide klasse 370
9.6.1 Initialisatielijst en indirecte basisklasse 373
9.6.2 Wat erft een afgeleide klasse niet? 373
9.6.3 Geërfde constructor (inherited constructor) 373
9.7 Toegangsregels 374
9.7.1 Wanneer gebruik je wat? 375
9.8 Multiple inheritance 376
9.8.1 Ambiguïteit bij multiple inheritance 378
9.9 Virtuele basisklasse 380
9.9.1 Oplossing via virtuele basisklasse 383
9.9.2 Initialisatielijst en virtuele basisklassen 386
9.10 Samenvatting 386
9.11 Vragen 387
9.12 Opgaven 387

10 Dynamisch geheugen 391
10.1 Inleiding 391
10.2 Dynamische arrays 391
10.3 Een destructor 394
10.3.1 Wanneer wordt een destructor aangeroepen? 396
10.3.2 Wanneer moet je zelf een destructor schrijven? 399
10.3.3 Memory leakage 399
10.4 Smart pointers 400
10.4.1 De klasse weak_ptr 402
10.5 Geheugentekort en new 403
10.6 Copy-constructor en toekenningsoperator 404
10.6.1 De copy-constructor 405
10.6.2 Een diepe kopie met de copy-constructor 406
10.6.3 De toekenningsoperator 407
10.6.4 Verwijderen van copy-constructor en toekenningsoperator 411
10.6.5 Herdefinitie van de indexoperator [ ] 412
10.7 Objecten en dynamisch geheugen 414
10.8 Een lineaire lijst 416
10.8.1 De opbouw van de lijst 417
10.8.2 Het maken van de lijst 417
10.8.3 De lijst langslopen met een pointer 419
10.9 Een verbeterde lijst 421
10.9.1 Een friend-klasse 422
10.9.2 Geen friend, maar public get-functies 424
10.9.3 Een destructor voor de lijst 425
10.10 Een iterator voor een lijst 427
10.11 Samenvatting 432
10.12 Vragen 432
10.13 Opgaven 433

11 Templates 437
11.1 Inleiding 437
11.2 Functietemplates 437
11.2.1 Een template voor de functie maximum 438
11.2.2 De essentie van het templatemechanisme 441
11.2.3 Functietemplate en zelf gedefinieerde klasse 441
11.2.4 Een functietemplate met twee template-argumenten 443
11.2.5 Overladen van functietemplate 444
11.2.6 Schrijven van een functietemplate 445
11.3 Klassentemplates 445
11.3.1 Implementatie van lidfunctie van een templateklasse 448
11.3.2 Defaultwaarde voor een template-argument 448
11.4 Template voor een lineaire lijst 448
11.4.1 Generieke lineaire lijst 449
11.4.2 Lidfuncties buiten de templateklasse implementeren 452
11.5 Afgeleide klasse van een klassentemplate 452
11.5.1 Afgeleide klasse zonder genericiteit 453
11.5.2 Afgeleide klasse met behoud van genericiteit 456
11.6 De klasse list uit de standaardbibliotheek 456
11.6.1 De functie merge() 462
11.6.2 Een templatefunctie voor print() 464
11.7 De klasse stack 466
11.7.1 Nut van een stack 467
11.8 De klasse queue 469
11.9 De klasse deque 471
11.10 Samenvatting 472
11.11 Vragen 472
11.12 Opgaven 473

12 Algoritmen 479
12.1 Inleiding 479
12.2 Soorten iteratoren 479
12.2.1 Speciale iteratoren 480
12.3 Een algoritme 481
12.3.1 Een const-iterator 483
12.3.2 Een algemenere versie van zoek() 484
12.3.3 Een functie zoek() voor een vector 485
12.3.4 Een templateversie van zoek() 486
12.3.5 De laatste versie van zoek() 488
12.4 Het algoritme std::find() 490
12.5 De algoritmen in de namespace std::ranges en in std 490
12.6 Het algoritme for_each() uit std::ranges 491
12.6.1 for_each met een globale functie 491
12.7 Functieobjecten 494
12.7.1 Het algoritme for_each en een functieobject 496
12.7.2 Functieobject met attribuut 498
12.8 Lambdafuncties 499
12.8.1 Lambdafunctie met of zonder expliciet return type 501
12.8.2 Lambdafunctie met capture list 502
12.8.3 Capture by reference 503
12.8.4 Mogelijkheden voor de capture list 505
12.8.5 De voorziening mutable 505
12.8.6 De lay-out van de code van een lambdafunctie 506
12.9 Projection 506
12.10 Unair predicaat 509
12.10.1 Unair predicaat en find_if() 510
12.10.2 Projectie en find_if 512
12.11 Sorteren 513
12.11.1 Objecten sorteren met behulp van een predicaat 515
12.11.2 Objecten sorteren met behulp van een projectie 518
12.11.3 Objecten sorteren met de spaceship-operator <=> 519
12.12 Het algoritme copy() 521
12.12.1 Een back inserter 522
12.12.2 Een front inserter 523
12.12.3 Een inserter die gebruikmaakt van insert() 523
12.12.4 Inhoud van container naar het scherm met copy 524
12.13 Een bestand schrijven en lezen met copy() 524
12.13.1 Een bestand maken met copy() 525
12.13.2 Een bestand lezen met copy() 527
12.13.3 Bestand met gehele getallen direct op het scherm zetten 528
12.13.4 Alle karakters uit een bestand lezen 528
12.14 Zelfgedefinieerd type en copy() 529
12.15 De algoritmen iota() en transform() 531
12.16 Over algoritmen, iteratoren, containers en streams 534
12.17 Ranges en views in C++20 534
12.17.1 Andere views 536
12.17.2 De adapters drop, take en filter 538
12.17.3 De view iota 539
12.18 Verschillende notaties van views en ranges 541
12.19 Samenvatting 542
12.20 Vragen 543
12.21 Opgaven 543

13 Polymorfie en virtuele functies
13.1 Inleiding
13.2 Drie klassen met een functie die to_string() heet
13.3 Een virtuele functie
13.3.1 Polymorfie
13.4 Polymorfie met rechthoeken en driehoeken
13.4.1 Dynamische of late binding
13.5 Abstracte klasse
13.5.1 Abstracte klasse Figuur
13.5.2 Een vector en een lijst met figuren
13.6 Virtuele functies in een keten van afgeleide klassen
13.7 Polymorfie via een referentie
13.8 Samenvatting
13.9 Vragen
13.10 Opgaven

14 Streams
14.1 Inleiding
14.2 Standaardstream-objecten
14.2.1 De standaardstreams cerr en clog
14.3 Een bestand maken en lezen met behulp van een stream
14.3.1 Een bestand lezen met behulp van een stream
14.3.2 Strings en bestanden
14.4 Het controleren van een stream
14.4.1 De functies eof(), fail(), bad() en good()
14.5 Drie manieren om een tekstbestand te lezen
14.6 I/O met objecten
14.6.1 I/O van objecten met behulp van operatoren
14.6.2 Minder foutgevoelige invoer
14.7 Objecten in een bestand
14.8 Mogelijkheden bij het openen van bestanden
14.8.1 Bestand later aan een stream koppelen
14.8.2 Bestand openen om aan het einde toe te voegen
14.8.3 Bestaand bestand openen en leegmaken
14.8.4 Per se werken met een bestaand bestand
14.8.5 Per se niet werken met een bestaand bestand
14.8.6 Lezen én schrijven uit een bestand: fstream
14.9 Random file access
14.9.1 Bestand openen met de file-pointer aan het eind
14.9.2 Opnieuw lezen uit hetzelfde bestand: de functie clear()
14.10 Binaire bestanden
14.10.1 Maken van een binair bestand
14.10.2 Lezen van een object uit een binair bestand
14.11 Kopiëren van een bestand
14.11.1 Kopiëren met behulp van rdbuf()
14.11.2 Kopiëren van een bestand naar het beeldscherm
14.12 Schrijven naar een string
14.12.1 Een ostreamstring leegmaken
14.13 Vragen
14.14 Opgaven

15 Excepties
15.1 Inleiding
15.2 Try, throw en catch
15.3 Verschillende excepties van hetzelfde type
15.4 Excepties van een verschillend type
15.4.1 Exceptie definiëren binnen een klasse
15.4.2 Alle excepties opvangen
15.4.3 Informatie in de exceptie
15.5 Re-throw
15.6 Excepties als afgeleide klassen
15.7 Standaardexcepties
15.7.1 Zelf een standaardexceptie opwerpen
15.8 Excepties specificeren in de declaratie van een functie
15.9 Invoer van bepaald soort getallen
15.10 Vragen en oefeningen
15.11 Opgaven

Bijlage A: Header en implementatie
P.1 Inleiding
P.2 Klassendeclaratie in header file
P.3 Implementatie in .cpp-bestand
P.3.1 Gebruikmaken van Persoon
P.4 Dubbele declaraties voorkomen
P.5 Templates en headers

Bijlage B: Namespaces
Q.1 Inleiding
Q.2 Een namespace maken
Q.3 Een namespace gebruiken
Q.4 De standaardbibliotheek en std

Bijlage C: Tabel van operatoren

Bijlage D: Gereserveerde woorden (keywords) en

voorgedefinieerde identifiers
Index 547

Aanbevolen live events...

donderdag 02-10-2025

Strategisch veranderen en samenwerken bij maatschappelijke opgaven

Collegereeks

Mensen die dit boek kochten, kochten ook...

  • Aan de slag met Java en JavaFX
    Gertjan Laan
    Aan de slag met Java en JavaFX
    € 62,50
  • De AI-revolutie
    Maarten Sukel
    De AI-revolutie
    € 20,00
  • Hét handboek voor de functioneel beheerder
    Daniël E. Brouwer
    Hét handboek voor de functioneel beheerder
    € 34,99
  • AI Agents
    Job van den Berg
    AI Agents
    € 34,95
  • BiSL – Een Framework voor business informatiemanagement
    Remko van der Pols
    BiSL – Een Framework voor business informatiemanagement
    € 49,00
  • Bestuurlijke informatievoorziening
    Willem Leijnse
    Bestuurlijke informatievoorziening
    € 72,95

Managementboek Top 100

Bekijk de volledige Managementboek Top 100

Rubrieken

  • advisering
  • algemeen management
  • coaching en trainen
  • communicatie en media
  • economie
  • financieel management
  • inkoop en logistiek
  • internet en social media
  • it-management / ict
  • juridisch
  • leiderschap
  • marketing
  • mens en maatschappij
  • non-profit
  • ondernemen
  • organisatiekunde
  • personal finance
  • personeelsmanagement
  • persoonlijke effectiviteit
  • projectmanagement
  • psychologie
  • reclame en verkoop
  • strategisch management
  • verandermanagement
  • werk en loopbaan
Uw cookie-instellingen
Deze website maakt gebruik van verschillende soorten cookies. Sommige cookies worden geplaatst door diensten van derden die op onze pagina's worden weergegeven. Om deze externe content te kunnen tonen is nodig dat u toestemming geeft voor het zetten van persoonlijke en marketingcookies. U kunt uw toestemming op elk moment wijzigen of intrekken. In onze cookieverklaring vindt u meer informatie.

Functionele cookies
Deze zijn noodzakelijk voor de werking van de website, zonder deze cookies kan de website niet naar behoren werken.

Persoonlijke en marketingcookies
Wij gebruiken cookies voor statistieken om bij te houden en rapportages te krijgen over hoe bezoekers de website gebruiken. Zo kunnen wij onze website verbeteren. Marketingcookies worden gebruikt om bezoekers te volgen wanneer ze verschillende websites bezoeken. Hun doel is advertenties weergeven die zijn toegesneden op en relevant zijn voor de individuele gebruiker.
Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Klantenservice

Over ons Contact Voorwaarden Bestellen en retourneren Lezen en luisteren Voor auteurs Recensiebeleid Partnerprogramma

Zakelijk

Zakelijke diensten Partnerprogramma Cadeaubonnen

Altijd op de hoogte

Schrijf u in voor onze nieuwsbrief en blijf up-to-date met relevante interviews en recensies, inspirerende events en de beste acties.
PRETTIG KENNIS MAKEN
Thuiswinkel waarborg Algemene voorwaarden Privacy Cookies Cookie instellingen Service & Contact Over ons
© 2025 Mainpress BV

Populaire producten

    Personen

      Trefwoorden

        Aan de slag met C++

        Aan de slag met C++
        Gertjan Laan
        /
        loader
        Recensiebeleid
        Noordhoff terugkoopgarantie

        Noordhoff koopt jouw boek terug, zonder zorgen!

        Heb je jouw boeken niet meer nodig?

        Als je jouw studieboeken gekocht hebt bij hanzestudybook.nl, kun je geselecteerde titels moeiteloos terugverkopen aan Noordhoff. Geen vragen, geen gedoe en lekker duurzaam.

        Volledige informatie op Noordhoff.nl

        AI-book

        Wat is een AI-book?

        Een AI-book is niet een boek dat geschreven is door AI maar een boek dat verrijkt is met AI. Het maakt de inhoud van een boek interactief via WhatsApp, zodat je ermee kunt chatten. Zie het als een razend slimme assistent die het boek perfect begrijpt en er alles uit onthouden heeft. Jij kunt deze assistent alles vragen. Vraag bijvoorbeeld hoe je iets kunt toepassen op jouw persoonlijke situatie, om een korte samenvatting, of wat de belangrijkste inzichten zijn. AI-books zijn alleen te gebruiken via WhatsApp, je hoeft er geen aparte app voor te installeren.
        Meer informatie over AI-books

        ?

        Geef uw beoordeling

        Aan de slag met C++

        Verwijder uw beoordeling