Exploring C++ (eBook)
725 Seiten
Apress (Verlag)
978-1-4302-0352-0 (ISBN)
This is a book about learning by doing and is aimed at programmers familiar with programming, but not C++. The key exercises are not simply listed at the end of the chapter, but are integrated into the main text. Readers work hands-on throughout the book. Each lesson poses numerous questions, asking readers to write answers directly in the book. The book includes answers to all questions, so readers can check their work. These exercises are not simple cookbook-style recipes (e.g., 'Write a program to do xyz'). Instead, they are explorations-structured labs that guide readers through a series of steps to highlight specific features of C++.
Ray Lischner has a bachelor's degree in computer science from Caltech and a master's in computer science from Oregon State University. He worked as a software developer for a dozen years, at big and small companies across the U.S., using PL/I, C, C++, Delphi, Smalltalk, and various assembly languages on both large and small systems. He has been self-employed as a consultant, trainer, and author for the last 10 years. Ray taught computer science at Oregon State University for several years and specialized in teaching introductory computer programming. He taught courses in C and C++ and software engineering.
Exploring C++ uses a series of selfdirected lessons to divide C++ into bitesized chunks that you can digest as rapidly as you can swallow them. The book assumes only a basic understanding of fundamental programming concepts (variables, functions, expressions, statements) and requires no prior knowledge of C or any other particular language. It reduces the usually considerable complexity of C++.The included lessons allow you to learn by doing, as a participant of an interactive education session. Youll master each step in one sitting before you proceed to the next. Author Ray Lischner has designed questions to promote learning new material. And by responding to questions throughout the text, you'll be engaged every step of the way.
Ray Lischner has a bachelor's degree in computer science from Caltech and a master's in computer science from Oregon State University. He worked as a software developer for a dozen years, at big and small companies across the U.S., using PL/I, C, C++, Delphi, Smalltalk, and various assembly languages on both large and small systems. He has been self-employed as a consultant, trainer, and author for the last 10 years. Ray taught computer science at Oregon State University for several years and specialized in teaching introductory computer programming. He taught courses in C and C++ and software engineering.
Contents at a Glance 4
Contents 7
About the Author 21
About the Technical Reviewer 22
Acknowledgments 23
Introduction 24
Honing Your Tools 30
Reading C++ Code 39
Integer Expressions 47
Strings 53
Simple Input 58
Error Messages 64
For Loops 69
Formatted Output 73
Arrays and Vectors 82
Increment and Decrement 93
Conditions and Logic 99
Compound Statements 107
Introduction to File I/O 117
The Map Data Structure 121
Type Synonyms 127
Characters 130
Character Categories 136
Case-Folding 144
Writing Functions 148
Function Arguments 157
Using Algorithms 165
Overloading Function Names 176
Big and Little Numbers 182
Very Big and Very Little Numbers 191
Documentation 198
Project 1: Body-Mass Index 206
Custom Types 210
Overloading Operators 218
Custom I/O Operators 228
Assignment and Initialization 233
Writing Classes 241
More About Member Functions 249
Access Levels 260
Introduction to Object-Oriented Programming 270
Inheritance 277
Virtual Functions 286
Classes and Types 294
Declarations and Definitions 303
Using Multiple Source Files 315
Function Objects 330
Useful Algorithms 340
Iterators 354
Exceptions 366
More Operators 381
Project 2: Fixed-Point Numbers 392
Function Templates 398
Class Templates 409
Template Specialization 419
Partial Specialization 427
Names and Namespaces 432
Containers 452
International Characters 474
Locales and Facets 483
Text I/O 497
Project 3: Currency Type 510
Pointers 512
Dynamic Memory 526
Exception-Safety 543
Old-Fashioned Arrays 555
Smart Pointers 564
Working with Bits 578
Enumerations 595
Multiple Inheritance 611
Traits and Policies 624
Names and Templates 639
Overloaded Functions 649
Metaprogramming 662
Project 4: Calculator 672
Index 674
Erscheint lt. Verlag | 7.2.2009 |
---|---|
Zusatzinfo | 725 p. |
Verlagsort | Berkeley |
Sprache | englisch |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► C / C++ |
Informatik ► Software Entwicklung ► Objektorientierung | |
Schlagworte | algorithms • Complexity • C++ programming language • Iterator • object • object-oriented programming • Overloading • programming |
ISBN-10 | 1-4302-0352-8 / 1430203528 |
ISBN-13 | 978-1-4302-0352-0 / 9781430203520 |
Haben Sie eine Frage zum Produkt? |
Größe: 2,6 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
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 dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
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.
aus dem Bereich