Object-Oriented Design and Programming with C++ - 1st Edition - ISBN: 9780124402157, 9781483214122

Object-Oriented Design and Programming with C++

1st Edition

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

Authors: Ronald Leach
eBook ISBN: 9781483214122
Imprint: Academic Press
Published Date: 28th August 1995
Page Count: 480
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


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++.

Table of Contents


Software Engineering Principles

Part I Fundamental Principles

Chapter 1 Overview of C++

1.1 What Is Object-Oriented Programming?

1.2 History of the C++ Programming Language

1.3 What Is C++?

1.4 Classes

1.5 Inheritance, Polymorphism, and Overloading



Chapter 2 Elementary Programming in C++

2.1 Structure of a Single-Unit C++ Program

2.2 Fundamental Data Types in C++

2.3 Output with cout

2.4 Formatted Output in C++

2.5 Input with cin

2.6 Documentation and Commenting of C++ Programs

2.7 Control of C++ Programs

2.8 Operators in C++

2.9 An Example: Processing an Input Stream

2.10 Differences in I/O between C and C++

2.11 Testing Issues



Chapter 3 Elementary C++ Program Structure

3.1 Derived and Base Classes

3.2 Constructors, Destructors, and Other Functions

3.3 Passing Parameters to Functions in C and C++

3.4 The inline Qualifier for Functions

3.5 Member and Friend Functions

3.6 The C++ Preprocessor

3.7 Library Functions and Class Libraries

3.8 Testing Issues



Chapter 4 Arrays and Pointers

4.1 Pointers, Arrays, and Pointer Arithmetic

4.2 Array Indexing and Pointer Arithmetic in C++

4.3 Multidimensional Arrays in C++

4 A Matrices in C++

4.5 Interfacing with the Command Line: Parameters to main ()

4.6 Pointers to Functions

4.7 Functions with a Variable Number of Arguments

4.8 Virtual Functions

4.9 Pointers to void

4.10 A Special Pointer: this



Chapter 5 Structured Data Types in C++

5.1 Classes, Structs, and Templates

5.2 Stacks in C++

5.3 Implementing Stacks in C++ Using Templates

5.4 Lists in C++

5.5 Implementation of Lists Using Templates

5.6 Using Lists with Sparse Matrices

5.7 Queues in C++

5.8 Implementation of Queues Using Templates

5.9 The Tree Data Type in C++

5.10 Implementation of Trees Using Templates

5.11 The Standard C and C++ Libraries

5.12 Other C++ Class Libraries



Chapter 6 Advanced Input and Output

6.1 Input and Output in C and C++

6.2 File Input and Output in C++

6.3 Overloading the « and » Operators

6.4 Using C++ File Streams for Random Access



Part II Software Engineering

Chapter 7 Advanced C++ Program Structure

7.1 Separate Compilation

7.2 The make Utility and Separate Compilation

7.3 Organization of Class Libraries

7.4 Examples of Class Libraries

7.5 Testing Issues

7.6 Exceptions in C++



Chapter 8 Modeling Object-Oriented System

8.1 Design Representations

8.2 Object-Oriented Systems

8.3 Class Design Issues

8.4 What Is an Object?

8.5 An Example of Class Development: The String Class

8.6 Concepts Related to Objects

8.7 Design Representations for Object-Oriented Systems



Chapter 9 An Example: A Graphical Database

9.1 Requirements

9.2 Determination of Objects for Representation of Polyhedra

9.3 Class Descriptions

9.4 A Graphical Database



Chapter 10 Making the Transition to an Object-Oriented System

10.1 Introduction

10.2 Specifications for a File System Simulation

10.3 Procedurally Based System Design

10.4 Implementation Details for a Procedurally Based Disk Simulation

10.5 Source Code for Procedural System (Optional)

10.6 Reengineering a Procedurally Based System into an Object-Oriented One

10.7 An Object-Oriented Disk Simulation Program

10.8 Source Code for an Object-Oriented Solution

10.9 Comparison of Object-Oriented and Procedural Solutions



Appendix 1 Reserved Words in C++

Appendix 2 Syntax Summary of C++


Appendix 3 Review of the C Language

Appendix 4 The ANSI Standard C Library

A4.1 Organization

A4.2 Commonly Used Functions

A4.3 Some UNIX I/O C Functions

A4.4 Rarely Used Functions

A4.5 Constants, Variables, and Types

Appendix 5 The Draft ANSI Standard C++ Library

A5.1 Guiding Principles Relating C and C++ Libraries

A5.2 New Header Files in the Draft C++ Library

A5.3 C Header Files in the Draft C++ Library

Appendix 6 Solutions and Hints to Selected Exercises




No. of pages:
© Academic Press 1995
Academic Press
eBook ISBN:

About the Author

Ronald Leach

Ratings and Reviews