Object-Oriented Design and Programming with C++ -  Ronald Leach

Object-Oriented Design and Programming with C++ (eBook)

Your Hands-On Guide to C++ Programming, with Special Emphasis on Design, Testing, and Reuse

(Autor)

eBook Download: PDF
2014 | 1. Auflage
480 Seiten
Elsevier Science (Verlag)
978-1-4832-1412-2 (ISBN)
Systemvoraussetzungen
54,95 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Object-Oriented Design and Programming with C++: Your Hands-On Guide to C++ Programming, with Special Emphasis on Design, Testing, and Reuse provides a list of software engineering principles to guide the software development process. This book presents the fundamentals of the C++ language. Organized into two parts encompassing 10 chapters, this book begins with an overview of C++ and describes object-oriented programming and the history of C++. This text then introduces classes, polymorphism, inheritance, and overloading. Other chapters consider the C++ preprocessor and organization of class libraries. This book discusses as well the scope rules, separate compilation, class libraries, and their organization, exceptions, browsers, and exception handling. The final chapter deals with the design of a moderately complex system that provides file system stimulation. This book is a valuable resource for readers who are reasonably familiar with the C programming language and want to understand the issues in object-oriented programming using C++.
Object-Oriented Design and Programming with C++: Your Hands-On Guide to C++ Programming, with Special Emphasis on Design, Testing, and Reuse provides a list of software engineering principles to guide the software development process. This book presents the fundamentals of the C++ language. Organized into two parts encompassing 10 chapters, this book begins with an overview of C++ and describes object-oriented programming and the history of C++. This text then introduces classes, polymorphism, inheritance, and overloading. Other chapters consider the C++ preprocessor and organization of class libraries. This book discusses as well the scope rules, separate compilation, class libraries, and their organization, exceptions, browsers, and exception handling. The final chapter deals with the design of a moderately complex system that provides file system stimulation. This book is a valuable resource for readers who are reasonably familiar with the C programming language and want to understand the issues in object-oriented programming using C++.

Front Cover 1
Object-Oriented Design and Programming with C++ 4
Copyright Page 5
Table of Contents 6
Preface 10
Software Engineering Principles 14
PART I: Fundamental Principles 16
CHAPTER 1. Overview of C++ 18
1.1 What Is Object-Oriented Programming? 18
1.2 History of the C++ Programming Language 21
1.3 What Is C++? 22
1.4 Classes 23
1.5 Inheritance, Polymorphism, and Overloading 24
Summary 26
EXERCISES 27
CHAPTER 2. Elementary Programmingin C++ 28
2.1 Structure of a Single-Unit C++ Program 28
2.2 Fundamental Data Types in C++ 33
2.3 Output with cout 34
2.4 Formatted Output in C++ 37
2.5 Input with cin 40
2.6 Documentation and Commenting of C++ Programs 50
2.7 Control of C++ Programs 52
2.8 Operators in C++ 54
2.9 An Example: Processing an Input Stream 58
2.10 Differences inI/O between C and C++ 60
2.11 Testing Issues 62
Summary 64
EXERCISES 65
CHAPTER 3. Elementary C++ Program Structure 68
3.1 Derived and Base Classes 68
3.2 Constructors, Destructors,and Other Functions 81
3.3 Passing Parametersto Functions in C and C++ 88
3.4 The inline Qualifier for Functions 89
3.5 Member and Friend Functions 91
3.6 The C++ Preprocessor 95
3.7 Library Functionsand Class Libraries 107
3.8 Testing Issues 108
Summary 109
EXERCISES 110
CHAPTER 4. Arrays and Pointers 112
4.1 Pointers, Arrays, and Pointer Arithmetic 112
4.2 Array Indexing andPointer Arithmetic in C++ 121
4.3 Multidimensional Arrays in C++ 124
4.4 Matrices in C++ 129
4.5 Interfacing with the CommandLine: Parameters to main() 136
4.6 Pointers to Functions 139
4.7 Functions with a Variable Number of Arguments 148
4.8 Virtual Functions 152
4.9 Pointers to void 155
4.10 A Special Pointer: this 156
Summary 158
EXERCISES 159
CHAPTER 5. Structured Data Types in C++ 168
5.1 Classes, Structs, and Templates 168
5.2 Stacks in C++ 172
5.3 Implementing Stacks in C++ Using Templates 179
5.4 Lists in C++ 183
5.5 Implementation of Lists Using Templates 189
5.6 Using Lists with Sparse Matrices 196
5.7 Queues in C++ 205
5.8 Implementation of Queues Using Templates 210
5.9 The Tree Data Type in C++ 214
5.10 Implementation of Trees Using Templates 219
5.11 The Standard C and C++ Libraries 224
5.12 Other C++ Class Libraries 227
Summary 231
EXERCISES 232
CHAPTER 6. Advanced Inputand Output 234
6.1 Input and Output in C and C++ 234
6.2 File Input and Output in C++ 236
6.3 Overloading the « and » Operators 244
6.4 Using C++ File Streams for Random Access 248
Summary 251
EXERCISES 252
PART II: Software Engineering 254
CHAPTER 7. Advanced C++ Program Structure 256
7.1 Separate Compilation 256
7.2 The make Utility and Separate Compilation 264
7.3 Organization of Class Libraries 268
7.4 Examples of Class Libraries 272
7.5 Testing Issues 273
7.6 Exceptions in C++ 275
Summary 283
EXERCISES 283
CHAPTER 8. Modeling Object-Oriented Systems 286
8.1 Design Representations 287
8.2 Object-Oriented Systems 294
8.3 Class Design Issues 296
8.4 What Is an Object? 298
8.5 An Example of Class Development: The String Class 299
8.6 Concepts Related to Objects 314
8.7 Design Representations for Object-Oriented Systems 315
Summary 318
EXERCISES 318
CHAPTER 9. An Example: A Graphical Database 320
9.1 Requirements 320
9.2 Determination of Objects for Representation of Polyhedra 324
9.3 Class Descriptions 330
9.4 A Graphical Database 337
Summary 347
EXERCISES 347
CHAPTER 10. Making the Transition to an Object-Oriented System 348
10.1 Introduction 348
10.2 Specifications for a File System Simulation 350
10.3 Procedurally Based System Design 354
10.4 Implementation Details for a Procedurally Based Disk Simulation 362
10.5 Source Code for Procedural System (Optional) 371
10.6 Reengineering a Procedurally Based System into an Object-Oriented One 383
10.7 An Object-Oriented Disk Simulation Program 384
10.8 Source Code for an Object-Oriented Solution 385
10.9 Comparison of Object-Orientedand Procedural Solutions 396
Summary 397
EXERCISES 397
APPENDIX 1: Reserved Words in C++ 400
APPENDIX 2: Syntax Summaryof C++ 402
APPENDIX 3: Review of the C Language 416
APPENDIX 4: The ANSI Standard C Library 426
APPENDIX 5: The Draft ANSI Standard C++ Library 452
APPENDIX 6: Solutions and Hints to Selected Exercises 456
References 468
Index 470
LIMITED WARRANTY AND DISCLAIMER OF LIABILITY 480
About the Disk 481

Erscheint lt. Verlag 12.5.2014
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 1-4832-1412-5 / 1483214125
ISBN-13 978-1-4832-1412-2 / 9781483214122
Haben Sie eine Frage zum Produkt?
PDFPDF (Adobe DRM)
Größe: 21,0 MB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Discover tactics to decrease churn and expand revenue

von Jeff Mar; Peter Armaly

eBook Download (2024)
Packt Publishing (Verlag)
25,19