
C++ By Dissection
Ira Pohl(Author)
Pearson (Publisher)
Published on 21. November 2001
Book
Mixed media product
592 pages
978-0-201-78733-7 (ISBN)
Description
C++ by Dissection presents a thorough introduction to the programming process by carefully developing working programs to illuminate key features of the C++ programming language. This book presents the concepts of the programming process using the "dissection" method. Dissection is a unique pedagogical tool first developed by the author to point out key features of program code. It is similar to a structured walk-through of the code, with the intention of explaining newly encountered programming elements and idioms as found in working code.
The book assumes no programming background and can be used by first time computer users or by experienced programmers who are transitioning to C++. Each chapter presents a number of carefully explained programs, which lead the reader in a holistic manner to ever-improving programming skills. Right from the start, the reader is introduced to complete programs, and at an early point in the book, the reader is introduced to writing functions as a major feature of structured programming.
The book assumes no programming background and can be used by first time computer users or by experienced programmers who are transitioning to C++. Each chapter presents a number of carefully explained programs, which lead the reader in a holistic manner to ever-improving programming skills. Right from the start, the reader is introduced to complete programs, and at an early point in the book, the reader is introduced to writing functions as a major feature of structured programming.
More details
Language
English
Place of publication
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 232 mm
Width: 187 mm
Thickness: 22 mm
Weight
880 gr
ISBN-13
978-0-201-78733-7 (9780201787337)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Previous edition
Content
1. Writing an ANSI C++ Program.
Getting Ready to Program.
A First Program.
Problem Solving Recipes.
Implementing Our Algorithm in C++.
Software Engineering: Style.
Dr. P's Prescriptions.
C++ compared with Java.
2. Native Types and Statements.
Program Elements.
Input/Output.
Program Structure.
Simple Types.
The Traditional Conversions.
Enumeration Types.
Expressions.
Statements.
Software Engineering: Debugging.
Dr. P's Prescriptions.
C++ compared with Java.
3. Functions, Pointers and Arrays.
Functions.
Function Invocation.
Function Definition.
The return Statement.
Function Prototypes.
Default Arguments.
Functions as Arguments.
Overloading Functions.
Inlining.
Scope and Storage Class.
Namespaces.
Pointer Types.
Reference Declarations.
The Uses of void.
Arrays.
Arrays and Pointers.
Passing Arrays to Functions.
Core Language ADT: char* String.
Multidimensional Arrays.
Operators new and delete.
Software Engineering: Program Correctness.
Dr. P's Prescriptions.
C++ Compared with Java.
4. Classes and Abstract Data Types.
The Aggregate Type class and struct.
Member Selection Operator.
Member Functions.
Access: Private and Public.
Classes.
Class Scope.
An Example: Flushing.
The this Pointer.
static and const Members.
A Container Class Example: ch_stack.
Software Engineering: Class Design.
Dr. P's Prescriptions.
C++ Compared with Java.
Unions.
Bit Fields.
5. Ctors, Dtors, Conversions and Operator Overloading.
Classes with Constructors.
Improving the point Class.
Constructing a Stack.
Classes with Destructors.
Members That Are Class Types.
Example: A Singly Linked List.
Strings Using Reference Semantics.
Constructor Issues and Mysteries.
Polymorphism.
Overloading and Function Selection.
Friend Functions.
Overloading Operators.
Unary Operator Overloading.
Binary Operator Overloading.
Overloading =, [ ] and ( ).
Overloading << and >>.
Overloading _>.
Overloading new and delete.
Software Engineering: Overloading.
Dr. P's Prescriptions.
C++ Compared with Java.
6. Templates and Generic Programming.
Template Class stack.
Function Templates.
Generic Code Development: Quicksort.
Class Templates.
Parameterizing the Class vector.
Using STL: string, vector and complex.
Software Engineering: Generics.
Dr. P's Prescriptions.
C++ Compared with Java.
7. Standard Template Library.
A Simple STL Example.
Containers.
Iterators.
Algorithms.
Numerical Integration Made Easy.
STL: Function Objects.
Allocators.
Software Engineering: STL Use.
Dr. P's Prescriptions.
C++ Compared with Java.
8. Inheritance and OOP.
A Derived Class.
A Student ISA Person.
Virtual Functions: How T is Dynamically Determined.
Abstract Base Classes.
Templates and Inheritance.
Multiple Inheritance.
Inheritance and Design.
Runtime Type Identification.
Software Engineering: Inheritance.
Dr. P's Prescriptions.
C++ Compared with Java.
9. Input/Output.
The Output Class ostream.
Formatted Output and iomanip.
User-Defined Types: Output.
The Input Class istream.
Files.
Using Strings as Streams.
The Functions and Macros in ctype.
Using Stream States.
Mixing I/O Libraries.
Software Engineering: IO.
Dr. P's Prescriptions.
C++ Compared with Java.
10. Exceptions and Program Correctness.
Using the assert Library.
C++ Exceptions.
Throwing Exceptions.
try Blocks.
Handlers.
Converting Assertions to Exceptions.
Exception Specification.
terminate() and unexpected().
Standard Exceptions and Their Uses.
Software Engineering: Exception Objects.
Dr. P's Prescriptions.
C++ Compared with Java.
11. OOP Using C++.
OOP Language Requirements.
OOP: The Dominant Programming Methodology.
Designing with OOP in Mind.
Class-Responsibility-Collaborator.
Design Patterns.
Software Engineering: Last Thoughts.
Dr. P's Prescriptions.
C++ Compared with Java.
Getting Ready to Program.
A First Program.
Problem Solving Recipes.
Implementing Our Algorithm in C++.
Software Engineering: Style.
Dr. P's Prescriptions.
C++ compared with Java.
2. Native Types and Statements.
Program Elements.
Input/Output.
Program Structure.
Simple Types.
The Traditional Conversions.
Enumeration Types.
Expressions.
Statements.
Software Engineering: Debugging.
Dr. P's Prescriptions.
C++ compared with Java.
3. Functions, Pointers and Arrays.
Functions.
Function Invocation.
Function Definition.
The return Statement.
Function Prototypes.
Default Arguments.
Functions as Arguments.
Overloading Functions.
Inlining.
Scope and Storage Class.
Namespaces.
Pointer Types.
Reference Declarations.
The Uses of void.
Arrays.
Arrays and Pointers.
Passing Arrays to Functions.
Core Language ADT: char* String.
Multidimensional Arrays.
Operators new and delete.
Software Engineering: Program Correctness.
Dr. P's Prescriptions.
C++ Compared with Java.
4. Classes and Abstract Data Types.
The Aggregate Type class and struct.
Member Selection Operator.
Member Functions.
Access: Private and Public.
Classes.
Class Scope.
An Example: Flushing.
The this Pointer.
static and const Members.
A Container Class Example: ch_stack.
Software Engineering: Class Design.
Dr. P's Prescriptions.
C++ Compared with Java.
Unions.
Bit Fields.
5. Ctors, Dtors, Conversions and Operator Overloading.
Classes with Constructors.
Improving the point Class.
Constructing a Stack.
Classes with Destructors.
Members That Are Class Types.
Example: A Singly Linked List.
Strings Using Reference Semantics.
Constructor Issues and Mysteries.
Polymorphism.
Overloading and Function Selection.
Friend Functions.
Overloading Operators.
Unary Operator Overloading.
Binary Operator Overloading.
Overloading =, [ ] and ( ).
Overloading << and >>.
Overloading _>.
Overloading new and delete.
Software Engineering: Overloading.
Dr. P's Prescriptions.
C++ Compared with Java.
6. Templates and Generic Programming.
Template Class stack.
Function Templates.
Generic Code Development: Quicksort.
Class Templates.
Parameterizing the Class vector.
Using STL: string, vector and complex.
Software Engineering: Generics.
Dr. P's Prescriptions.
C++ Compared with Java.
7. Standard Template Library.
A Simple STL Example.
Containers.
Iterators.
Algorithms.
Numerical Integration Made Easy.
STL: Function Objects.
Allocators.
Software Engineering: STL Use.
Dr. P's Prescriptions.
C++ Compared with Java.
8. Inheritance and OOP.
A Derived Class.
A Student ISA Person.
Virtual Functions: How T is Dynamically Determined.
Abstract Base Classes.
Templates and Inheritance.
Multiple Inheritance.
Inheritance and Design.
Runtime Type Identification.
Software Engineering: Inheritance.
Dr. P's Prescriptions.
C++ Compared with Java.
9. Input/Output.
The Output Class ostream.
Formatted Output and iomanip.
User-Defined Types: Output.
The Input Class istream.
Files.
Using Strings as Streams.
The Functions and Macros in ctype.
Using Stream States.
Mixing I/O Libraries.
Software Engineering: IO.
Dr. P's Prescriptions.
C++ Compared with Java.
10. Exceptions and Program Correctness.
Using the assert Library.
C++ Exceptions.
Throwing Exceptions.
try Blocks.
Handlers.
Converting Assertions to Exceptions.
Exception Specification.
terminate() and unexpected().
Standard Exceptions and Their Uses.
Software Engineering: Exception Objects.
Dr. P's Prescriptions.
C++ Compared with Java.
11. OOP Using C++.
OOP Language Requirements.
OOP: The Dominant Programming Methodology.
Designing with OOP in Mind.
Class-Responsibility-Collaborator.
Design Patterns.
Software Engineering: Last Thoughts.
Dr. P's Prescriptions.
C++ Compared with Java.