Preface
Chapter 1 Computing and the object-oriented design methodology
1.1 Basic computing terminology
Self-check questions
1.2 Software
1.3 Engineering software
1.4 Object-oriented design
Self-check questions
1.5 Points to remember
1.6 To delve further
1.7 Exercises
Chapter 2 C++:The fundamentals
2.1 Program organization
2.2 A first program
2.3 A second program
2.4 Comments
Self-check questions
2.5 Assigning a value
2.6 Fundamental C++objects
2.7 Constants
Self-check questions
2.8 Names
2.9 Definitions
Self-check questions
2.10 Expressions
Self-check questions
2.11 Output statements
2.12 Computing average velocity
Self-check questions
2.13 Points to remember
2.14 Exercises
Chapter 3 Modifying objects
3.1 Assignment
3.2 Const definitiions
3.3 Input statements
Self-check questions
3.4 Computing the number of molecules in a hydrocarbon
3.5 Compound assignment
3.6 Increment and decrement
Self-check questions
3.7 Estimating yearly savings of change
3.8 The string class
Self-check questions
3.9 EzWindows
3.10 Mowing lawns
Self-check questions
3.11 Points to remember
3.12 Exercises
Chapter 4 Control constructs
4.1 Boolean algebra
4.2 A Boolean type
Self-check questions
4.3 Conditional execution using the if statement
Self-check questions
4.4 Conditional execution using the switch statement
4.5 Computing a requested expression
4.6 Validating a date
Self-check questions
4.7 Iteration using the while statement
4.8 Simple string and character processing
Self-check questions
4.9 Iteration using the for construct
4.10 Simple data visualization
4.11 Solving the lazy hobo riddle
4.12 Iteration using the do construct
Self-check questions
4.13 Points to remember
4.14 Exercises
Chapter 5 Function basics
5.1 Function basic
5.2 The preprocessor
Self-check questions
5.3 Using software libraries
5.4 The iostream library
5.5 The iomanip library
5.6 The fstream library
5.7 Random numbers
5.8 The assert library
Self-check questions
5.9 Points to Remember
5.10 To delve further
5.11 Exercises
Chapter 6 Programmer-defined Functions
6.1 Basics
6.2 A tasty problem
6.3 Some useful functions
6.4 Integrating a quadratic polynomial
6.5 The local scope
6.6 The global scope
Self-check questions
6.7 Reference parameters
6.8 Passing objects by reference
6.9 Validating telephone access codes
Self-check questions
6.10 Constant parameters
6.11 Default parameters
6.12 Casting of function parameters
6.13 Function overloading
Self-check questions
6.14 Recursive functions
Self-check questions
6.15 Displaying a price-interval stock chart
6.16 Points to Remember
6.17 To delve further
6.18 Exercises
Chapter 7 The class construct and object-oriented design
7.1 Introducing a programmer-defined data type
7.2 The RectangleShape class
Self-check questions
7.3 Using the RectangleShape class
7.4 Constructors
Self-check questions
7.5 Building a kaleidoscope
7.6 Object-oriented analysis and design
7.7 Points to remember
7.8 To delve further
7.9 Exercises
Chapter 8 Implementing abstract data types
8.1 Introducing abstract data types
8.2 Rational ADT basics
8.3 Rational interface description
Self-check questions
8.4 Implementing the rational class
8.5 Copy construction,member assignment,and destruction
Self-check questions
8.6 ADT for pseudorandom integers
8.7 Red-yellow-green game
8.8 Points to remember
8.9 Exercises
Chapter 9 Lists
9.1 Named collections
9.2 One-dimensional arrays
Self-check questions
9.3 Arrays as parameters
9.4 Sorting
Self-check questions
9.5 Container classes
9.6 Class vector
9.7 QuickSort
9.8 Binary searching
9.9 String class revisited
Self-check questions
9.10 Find that word-exploring a two-dimensiional list
9.11 Maze runner
9.12 Multidimensional arrays
Self-check questions
9.13 Points to remember
9.14 Exercises
Chapter 10 The EzWindows API:a detailed examination
10.1 Application programmer interfaces
10.2 A simple window class
10.3 The bitmap class
10.4 Mouse events
10.5 Bitmaps and mouse events
10.6 Timer events
10.7 Alert messages
Self-check questions
10.8 Simon says
10.9 Points to remember
10.10 Exercises
Chapter 11 Pointers and dynamic memory
11.1 Lvalues and rvalues
11.2 Pointer basic
Self-check questions
11.3 Constant pointers and pointers to constants
11.4 Arrays and pointers
11.5 Character string processing
11.6 Program command-line parameters
Self-check questions
11.7 Pointers to functions
Self-check questions
11.8 Dynamic objects
11.9 A simple ADT for representing lists of integer values
Self-check questions
11.10 Points to remember
11.11 Exercises
Chapter 12 Testing and debugging
12.1 Testing
Self-check questions
Self-check questions
12.2 Debugging
Self-check questions
12.3 Points to remember
12.4 To Delve Further
12.5 Exercises
Chapter 13 Inheritance
13.1 Object-oriented design using inheritance
13.2 Reuse via inheritance
13.3 A hierarchy of shapes
Self-check questions
13.4 Protected members and inheritance
13.5 Controlling inheritance
Self-check questions
13.6 Multiple inheritance
Self-check questions
13.7 A prettier kaleidoscope
13.8 Points to remember
13.9 Exercises
Chapter 14 Templates and polymorphism
14.1 Generic actions and types
14.2 Function templates
14.3 Class templates
14.4 A simple list class using a class template
Self-check questions
14.5 Sequential lists
Self-check questions
14.6 Polymorphism
14.7 Virtual function nuances
14.8 Abstract base classes
14.9 Virtual multiple inheritance
Self-check questions
14.10 Points to remember
14.11 Exercises
Chapter 15 Software project-Bug Hunt!
15.1 Bug hunt
15.2 Base class Bug
15.3 Class GameController
15.4 Bug hunt
Self-check questions
15.5 Points to remember
15.6 Exercises
Appendix A Tables
A.1 ASCII character set
A.2 Operator precedence
Appendix B Standard libraries
B.1 Library naming and access
B.2 Iostream library
B.3 Stdlib library
B.4 Math library
B.5 Time library
B.6 Cstring library
B.7 Algorithm library
Appendix C Standard classes
C.1 Container Classes
C.2 Class string
Appendix D Advanced topics
D.1 Namespaces
D.2 Exception handling
D.3 Friends
Appendix E EzWindows API reference manual
E.1 Enumerated types
E.2 Coordinate system
E.3 Class Position
E.4 Class SimpleWindow
E.5 Class WindowObject
E.6 Class RaySegment
E.7 Class Shape
E.8 Class EllipseShape
E.9 Class CircleShape
E.10 Class RectangleShape
E.11 Class TriangleShape
E.12 Class SquareShape
E.13 Class Label
E.14 Class BitMap
E.15 Class Randomlnt
E.16 Miscellaneous functions
Appendix F Projects and makefiles
F.1 Project and makefile fundamentals
F.2 Borland C++ IDE
F.3 Microsoft Visual C++ IDE
F.4 UNIX Makefiles
Index