- Seite 1:
Klaus Schmaranz Softwareentwicklung
- Seite 4 und 5:
VI Vorwort des Autors Es ist das vo
- Seite 6 und 7:
VIII Vorwort des Autors Last, but n
- Seite 8 und 9:
X Inhaltsverzeichnis 4. Kontrollstr
- Seite 10 und 11:
XII Inhaltsverzeichnis 11. Exceptio
- Seite 13 und 14:
1. Ziel und Inhalt dieses Buchs Die
- Seite 15 und 16:
1.1 Zum Inhalt 3 z.B. bei Abhandlun
- Seite 17 und 18:
1.1 Zum Inhalt 5 stiegspunkte hat,
- Seite 19 und 20:
1.2 Motivation 7 über die Hälfte
- Seite 21:
1.4 Die beiliegende CD-ROM 9 Ich w
- Seite 25 und 26:
2. Datentypen und Variablen Die Ver
- Seite 27 und 28:
2.1 Primitive Datentypen 15 Wenn ma
- Seite 29 und 30:
2.1 Primitive Datentypen 17 hat man
- Seite 31 und 32:
2.1 Primitive Datentypen 19 Leser,
- Seite 33 und 34:
2.2 Deklaration, Definition und Ini
- Seite 35 und 36:
2.2 Deklaration, Definition und Ini
- Seite 37 und 38:
2.3 Das erste C++ Programm 25 Prinz
- Seite 39 und 40:
a g l o b a l v a r : 1 7 a n o t h
- Seite 41 und 42:
2.3 Das erste C++ Programm 29 • Z
- Seite 43 und 44:
2.4 Zusammengesetzte Datentypen 2.4
- Seite 45 und 46:
26 cout
- Seite 47 und 48:
2.4 Zusammengesetzte Datentypen 35
- Seite 49 und 50:
2.4 Zusammengesetzte Datentypen 37
- Seite 51 und 52:
2.4 Zusammengesetzte Datentypen 39
- Seite 53 und 54:
2.4 Zusammengesetzte Datentypen 41
- Seite 55 und 56:
2.4 Zusammengesetzte Datentypen 43
- Seite 57 und 58:
25 // of the anonymous union 26 num
- Seite 59 und 60:
2.6 Symbolische Konstanten 47 Ich m
- Seite 61 und 62:
2.7 Eigene Typdefinitionen 49 1. Ko
- Seite 63:
2.7 Eigene Typdefinitionen 51 Um ü
- Seite 66 und 67:
54 3. Operatoren kann auch durch Op
- Seite 68 und 69:
56 3. Operatoren Rang Bedeutung Ope
- Seite 70 und 71:
58 3. Operatoren Bis auf den “mod
- Seite 72 und 73:
60 3. Operatoren Definition, dass 0
- Seite 74 und 75:
62 3. Operatoren die Umwandlung in
- Seite 76 und 77:
64 3. Operatoren 46 typeid ( long l
- Seite 78 und 79:
66 3. Operatoren Was sieht man an u
- Seite 80 und 81:
68 3. Operatoren Zahl als int und a
- Seite 82 und 83:
70 3. Operatoren primitive Datentyp
- Seite 84 und 85:
72 3. Operatoren Wieso eigentlich k
- Seite 86 und 87:
74 4. Kontrollstrukturen 4.1 Select
- Seite 88 und 89:
76 4. Kontrollstrukturen Ich habe h
- Seite 90 und 91:
78 4. Kontrollstrukturen 8 using st
- Seite 92 und 93:
80 4. Kontrollstrukturen Im Gegensa
- Seite 94 und 95:
82 4. Kontrollstrukturen 23 cout
- Seite 97 und 98:
5. Funktionen Prinzipiell ist eine
- Seite 99 und 100:
5 6 using std : : cout ; 7 using st
- Seite 101 und 102:
5. Funktionen 89 vom Overloading in
- Seite 103 und 104:
5. Funktionen 91 korrekten Paramete
- Seite 105 und 106:
5. Funktionen 93 paar für den Expo
- Seite 107 und 108:
27 void show (double num) 28 { 29 c
- Seite 109 und 110:
1 // i n l i n e f u n c t i o n d
- Seite 111 und 112:
5. Funktionen 99 Einsatz. Dieser Um
- Seite 113 und 114:
5. Funktionen 101 feilscht (=linear
- Seite 115 und 116:
6. Pointer und References C ist sch
- Seite 117 und 118:
46 void changeVariable ( int32 &var
- Seite 119 und 120:
10 { 11 int32 my var = returnDeadVa
- Seite 121 und 122:
6.1 References 109 werden müsste,
- Seite 123 und 124:
42 a s t r u c t . a member = 17; 4
- Seite 125 und 126:
6.1 References 113 alltägliche Pra
- Seite 127 und 128:
6.2 Pointer 115 weitem stärker den
- Seite 129 und 130:
41 ” , ∗ my ptr : ”
- Seite 131 und 132:
6.2 Pointer 119 Wenn man aus guter
- Seite 133 und 134:
6.2 Pointer 121 bei unseren kleinen
- Seite 135 und 136:
6.2 Pointer 123 Zeilen 34-35: Hier
- Seite 137 und 138:
6.2 Pointer 125 Zeilen 51-56: Die F
- Seite 139 und 140:
25 for ( uint32 count = 0 ; count <
- Seite 141 und 142:
16 const uint32 NUM COLS = 7; 17 6.
- Seite 143 und 144:
6.2 Pointer 131 einen konstanten Po
- Seite 145 und 146:
6.2 Pointer 133 Auf einer Sun würd
- Seite 147 und 148:
7. Der Preprocessor In C ++ kommt d
- Seite 149 und 150:
7.2 Bedingte Übersetzung 137 im ak
- Seite 151:
7.3 Macros 139 dann kann man nette
- Seite 155 und 156:
8. Objektorientierung Allgemein Ich
- Seite 157 und 158:
8. Objektorientierung Allgemein 145
- Seite 159 und 160:
8.1 Module und Abläufe 147 2. Die
- Seite 161 und 162:
8.1 Module und Abläufe 149 Schritt
- Seite 163 und 164:
8.1 Module und Abläufe 151 4. Man
- Seite 165 und 166:
8.1 Module und Abläufe 153 Begriff
- Seite 167 und 168:
8.2 Klassen und Objekte 155 • Im
- Seite 169 und 170:
8.2 Klassen und Objekte 157 solche
- Seite 171 und 172:
8.2 Klassen und Objekte 159 • Man
- Seite 173 und 174:
8.3 Richtige Verwendung der OO Mech
- Seite 175 und 176:
8.3 Richtige Verwendung der OO Mech
- Seite 177:
8.3 Richtige Verwendung der OO Mech
- Seite 180 und 181:
168 9. Klassen in C++ 9.1 Besonderh
- Seite 182 und 183:
170 9. Klassen in C++ se Art der De
- Seite 184 und 185:
172 9. Klassen in C++ ses Beispiel
- Seite 186 und 187:
174 9. Klassen in C++ private: Es d
- Seite 188 und 189:
176 9. Klassen in C++ 1 // memory g
- Seite 190 und 191:
178 9. Klassen in C++ hinter sich h
- Seite 192 und 193:
180 9. Klassen in C++ Compiler wiss
- Seite 194 und 195:
182 9. Klassen in C++ Objekt, das z
- Seite 196 und 197:
184 9. Klassen in C++ man also eine
- Seite 198 und 199:
186 9. Klassen in C++ 77 78 cout
- Seite 200 und 201:
188 9. Klassen in C++ Die Antwort,
- Seite 202 und 203:
190 9. Klassen in C++ 29 30 //−
- Seite 204 und 205:
192 9. Klassen in C++ 85 86 return
- Seite 206 und 207:
194 9. Klassen in C++ ist sie nicht
- Seite 208 und 209:
196 9. Klassen in C++ number o f ca
- Seite 210 und 211:
198 9. Klassen in C++ 10 ∗ a gene
- Seite 212 und 213:
200 9. Klassen in C++ 52 { 53 v i s
- Seite 214 und 215:
202 9. Klassen in C++ die Rückseit
- Seite 216 und 217:
204 9. Klassen in C++ wir kurz: Uns
- Seite 218 und 219:
206 9. Klassen in C++ Die sinnvolle
- Seite 220 und 221:
208 9. Klassen in C++ Implementatio
- Seite 222 und 223:
210 9. Klassen in C++ 27 } ; 28 29
- Seite 224 und 225:
212 9. Klassen in C++ 93 ∗ @retur
- Seite 226 und 227:
214 9. Klassen in C++ Bei der Imple
- Seite 228 und 229:
216 9. Klassen in C++ 51 DerivedCla
- Seite 230 und 231:
218 9. Klassen in C++ 46 DerivedCla
- Seite 232 und 233:
220 9. Klassen in C++ auch darum k
- Seite 234 und 235:
222 9. Klassen in C++ Der Output di
- Seite 236 und 237:
224 9. Klassen in C++ 1 // static d
- Seite 238 und 239:
226 9. Klassen in C++ tatsächlich
- Seite 240 und 241:
228 9. Klassen in C++ 93 cout
- Seite 242 und 243:
230 9. Klassen in C++ BaseB : : dyn
- Seite 244 und 245:
232 9. Klassen in C++ aufgebaut. So
- Seite 246 und 247:
234 9. Klassen in C++ Das bringt un
- Seite 248 und 249:
236 9. Klassen in C++ anderen Aspek
- Seite 250 und 251:
238 9. Klassen in C++ bedeutet das
- Seite 252 und 253:
240 9. Klassen in C++ 198 GameCard
- Seite 254 und 255:
242 9. Klassen in C++ 14 ∗ 15 ∗
- Seite 256 und 257:
244 9. Klassen in C++ 146 { 147 con
- Seite 258 und 259:
246 9. Klassen in C++ einen Gedanke
- Seite 260 und 261:
248 9. Klassen in C++ suchen müsse
- Seite 262 und 263:
250 9. Klassen in C++ Betrachtet ma
- Seite 264 und 265:
252 9. Klassen in C++ 7 ∗ 8 ∗ j
- Seite 266 und 267:
254 9. Klassen in C++ 5. Im letzten
- Seite 268 und 269:
256 9. Klassen in C++ 3. Im Zuge de
- Seite 270 und 271:
258 10. Memory - ein kleines Beispi
- Seite 272 und 273:
260 10. Memory - ein kleines Beispi
- Seite 274 und 275:
262 10. Memory - ein kleines Beispi
- Seite 276 und 277:
264 10. Memory - ein kleines Beispi
- Seite 278 und 279:
266 10. Memory - ein kleines Beispi
- Seite 280 und 281:
268 10. Memory - ein kleines Beispi
- Seite 282 und 283:
270 10. Memory - ein kleines Beispi
- Seite 284 und 285:
272 10. Memory - ein kleines Beispi
- Seite 286 und 287:
274 10. Memory - ein kleines Beispi
- Seite 288 und 289:
276 10. Memory - ein kleines Beispi
- Seite 290 und 291:
278 10. Memory - ein kleines Beispi
- Seite 292 und 293:
280 10. Memory - ein kleines Beispi
- Seite 294 und 295:
282 10. Memory - ein kleines Beispi
- Seite 296 und 297: 284 10. Memory - ein kleines Beispi
- Seite 298 und 299: 286 10. Memory - ein kleines Beispi
- Seite 300 und 301: 288 10. Memory - ein kleines Beispi
- Seite 302 und 303: 290 10. Memory - ein kleines Beispi
- Seite 304 und 305: 292 10. Memory - ein kleines Beispi
- Seite 306 und 307: 294 10. Memory - ein kleines Beispi
- Seite 308 und 309: 296 10. Memory - ein kleines Beispi
- Seite 310 und 311: 298 10. Memory - ein kleines Beispi
- Seite 312 und 313: 300 10. Memory - ein kleines Beispi
- Seite 314 und 315: 302 10. Memory - ein kleines Beispi
- Seite 316 und 317: 304 10. Memory - ein kleines Beispi
- Seite 318 und 319: 306 10. Memory - ein kleines Beispi
- Seite 320 und 321: 308 10. Memory - ein kleines Beispi
- Seite 323 und 324: 11. Exceptions In den bisherigen Be
- Seite 325 und 326: 22 uint32 my id ; 23 public : 24 Ex
- Seite 327 und 328: 154 11. Exceptions 315 155 //−−
- Seite 329 und 330: 11. Exceptions 317 geschwindigkeits
- Seite 331 und 332: 11. Exceptions 319 ser auch verwend
- Seite 333 und 334: 57 11. Exceptions 321 58 //−−
- Seite 335 und 336: 11. Exceptions 323 Vorsicht Falle:
- Seite 337 und 338: 46 } 47 catch ( Exception &exc ) 48
- Seite 339 und 340: 11. Exceptions 327 Objekte in ihrem
- Seite 341 und 342: 11. Exceptions 329 Der Grund hierf
- Seite 343 und 344: 11. Exceptions 331 16 virtual ˜ Ex
- Seite 345: 11. Exceptions 333 lange Zeit gäng
- Seite 349 und 350: 12.1 Grundprinzipien des Operator O
- Seite 351 und 352: 12.1 Grundprinzipien des Operator O
- Seite 353 und 354: 12.1 Grundprinzipien des Operator O
- Seite 355 und 356: 12.1 Grundprinzipien des Operator O
- Seite 357 und 358: 12.1 Grundprinzipien des Operator O
- Seite 359 und 360: 12.1 Grundprinzipien des Operator O
- Seite 361 und 362: 12.1 Grundprinzipien des Operator O
- Seite 363 und 364: 12.1 Grundprinzipien des Operator O
- Seite 365 und 366: 12.1 Grundprinzipien des Operator O
- Seite 367 und 368: 12.2 Typumwandlungen 355 einer ents
- Seite 369 und 370: 105 ( value > max ) ) 106 throw r a
- Seite 371 und 372: 12.2 Typumwandlungen 359 Dass diese
- Seite 373 und 374: 35 exc . what()
- Seite 375 und 376: 12.3 Speicherverwaltung 363 er dort
- Seite 377 und 378: 187 { 188 switch (mem type) 189 { 1
- Seite 379 und 380: 12.3 Speicherverwaltung 367 zurück
- Seite 381 und 382: 8 d e s t r u c t o r of MyNonVolat
- Seite 383 und 384: 12.3 Speicherverwaltung 371 länger
- Seite 385 und 386: 3 constructor of MyFastObject 4 new
- Seite 387 und 388: 53 void ∗ operator new( s i z e t
- Seite 389 und 390: 93 94 virtual ˜MyMemManagedObject(
- Seite 391 und 392: 49 class SpecialMemoryManagedObject
- Seite 393 und 394: 180 delete n o n v o l a t i l e o
- Seite 395 und 396: 12.3 Speicherverwaltung 383 99 cout
- Seite 397 und 398:
12.3 Speicherverwaltung 385 Blocks
- Seite 399 und 400:
101 throw ( ) ; 102 103 void operat
- Seite 401 und 402:
12.3 Speicherverwaltung 389 bedeute
- Seite 403 und 404:
12.3 Speicherverwaltung 391 d e s t
- Seite 405 und 406:
76 ∗/ 77 12.3 Speicherverwaltung
- Seite 407 und 408:
12.3 Speicherverwaltung 395 18 ∗
- Seite 409 und 410:
12.3 Speicherverwaltung 397 Wenn in
- Seite 411 und 412:
12.3 Speicherverwaltung 399 32 // i
- Seite 413 und 414:
24 throw ( ) { value = value ; } 25
- Seite 415:
12.4 Abschließendes zu overloadabl
- Seite 418 und 419:
406 13. Templates ist für das gene
- Seite 420 und 421:
408 13. Templates Bedeutung der Dek
- Seite 422 und 423:
410 13. Templates Deklaration und d
- Seite 424 und 425:
412 13. Templates ben wir es hier a
- Seite 426 und 427:
414 13. Templates tion geworfen wir
- Seite 428 und 429:
416 13. Templates In Zeile 48 wird
- Seite 430 und 431:
418 13. Templates 1 // find max tem
- Seite 432 und 433:
420 13. Templates 27 template clas
- Seite 434 und 435:
422 13. Templates 71 } 72 73 //−
- Seite 436 und 437:
424 13. Templates 21 f l o a t b u
- Seite 438 und 439:
426 13. Templates 5 6 #include ”
- Seite 440 und 441:
428 13. Templates 6 #include ” b
- Seite 442 und 443:
430 13. Templates 1 2 // b u f f e
- Seite 444 und 445:
432 13. Templates hält und schlie
- Seite 446 und 447:
434 13. Templates die Spezialisieru
- Seite 448 und 449:
436 13. Templates Alles, was mit de
- Seite 450 und 451:
438 13. Templates 89 ∗/ 90 templa
- Seite 452 und 453:
440 13. Templates g e n e r i c put
- Seite 454 und 455:
442 13. Templates solchen Buffer, a
- Seite 456 und 457:
444 13. Templates spielen möchte i
- Seite 458 und 459:
446 13. Templates 32 throw ( ) : r
- Seite 460 und 461:
448 13. Templates Executable dazuge
- Seite 462 und 463:
450 13. Templates 12 } 13 14 //−
- Seite 465 und 466:
14. Namespaces Als letztes Feature
- Seite 467 und 468:
49 { 50 i f ( num elements >= MAX N
- Seite 469 und 470:
36 char CharBuffer : : getNext ( )
- Seite 471 und 472:
14. Namespaces 459 tion stehen, als
- Seite 473:
14. Namespaces 461 Ein gutes Haar m
- Seite 476 und 477:
464 15. Verschiedenes 27 d i r t y
- Seite 478 und 479:
466 15. Verschiedenes 26 uint32 u i
- Seite 480 und 481:
468 15. Verschiedenes 158 { 159 Uni
- Seite 482 und 483:
470 15. Verschiedenes 15.3 Funktion
- Seite 484 und 485:
472 15. Verschiedenes so ganz genau
- Seite 486 und 487:
474 15. Verschiedenes Prinzip gleic
- Seite 488 und 489:
476 15. Verschiedenes Operator alte
- Seite 490 und 491:
478 15. Verschiedenes waren, musste
- Seite 492 und 493:
480 15. Verschiedenes Wir haben es
- Seite 494 und 495:
482 15. Verschiedenes Java zu tun h
- Seite 496 und 497:
484 15. Verschiedenes 61 cout
- Seite 498 und 499:
486 15. Verschiedenes 43 throw bad
- Seite 500 und 501:
488 15. Verschiedenes zurückkehrt.
- Seite 502 und 503:
490 15. Verschiedenes 98 } 99 100 s
- Seite 505 und 506:
16. Die C++ Standard Library Dieser
- Seite 507 und 508:
16.1 Übersicht 495 • Komponenten
- Seite 509 und 510:
16.2 Container 497 Lesen der entspr
- Seite 511 und 512:
16.2 Container 499 Zum Index-Operat
- Seite 513 und 514:
16.2 Container 501 Element immer vo
- Seite 515 und 516:
6 7 #include ” u s e r t y p e s
- Seite 517 und 518:
66 67 // push elements ( they are a
- Seite 519 und 520:
16.2 Container 507 Elemente über b
- Seite 521 und 522:
16.2 Container 509 Wie bei map ist
- Seite 523 und 524:
16.2 Container 511 Generelle Operat
- Seite 525 und 526:
16.3 Iterators 513 Abfragbare Daten
- Seite 527 und 528:
16.3 Iterators 515 end fordert eine
- Seite 529 und 530:
e v e r s e−i t e r a t i n g vec
- Seite 531 und 532:
16.5 Strings 519 kann man davon aus
- Seite 533 und 534:
15 int main ( int argc , char ∗ a
- Seite 535 und 536:
16.6 Streams 523 diese Objekte werd
- Seite 537 und 538:
8 9 using std : : ostream ; 10 usin
- Seite 539 und 540:
16.6 Streams 527 Files bereits nach
- Seite 541 und 542:
20 int main ( int argc , char ∗ a
- Seite 543 und 544:
16.7 Numerik 531 den muss, werden d
- Seite 545 und 546:
16.7 Numerik 533 static const bool
- Seite 547:
16.8 Algorithmen und Funktionsobjek
- Seite 550 und 551:
538 A. Coding-Standard Einheitlichk
- Seite 552 und 553:
540 A. Coding-Standard Structures:
- Seite 555 und 556:
B. Vollständige Implementation des
- Seite 557 und 558:
B.1.2 Implementation von Vector B.1
- Seite 559 und 560:
57 } B.1 Implementationen der einze
- Seite 561 und 562:
B.1 Implementationen der einzelnen
- Seite 563 und 564:
B.1 Implementationen der einzelnen
- Seite 565 und 566:
B.1 Implementationen der einzelnen
- Seite 567 und 568:
B.1 Implementationen der einzelnen
- Seite 569 und 570:
64 } 65 B.1 Implementationen der ei
- Seite 571 und 572:
B.1 Implementationen der einzelnen
- Seite 573:
Literaturverzeichnis [Coplien 1991]
- Seite 576 und 577:
564 Index - Access Specifiers, 173
- Seite 578 und 579:
566 Index - Ableitung, 160, 164 - C
- Seite 580 und 581:
568 Index static Binding, 223 stati
- Seite 583:
Über den Autor Klaus Schmaranz ist