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