Object-Oriented Design and Programming with C++

Object-Oriented Design and Programming with C++

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

1st Edition - August 28, 1995

Write a review

  • Author: Ronald Leach
  • eBook ISBN: 9781483214122

Purchase options

Purchase options
DRM-free (PDF)
Sales tax will be calculated at check-out

Institutional Subscription

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

  • Preface

    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



Product details

  • No. of pages: 480
  • Language: English
  • Copyright: © Academic Press 1995
  • Published: August 28, 1995
  • Imprint: Academic Press
  • eBook ISBN: 9781483214122

About the Author

Ronald Leach

Ratings and Reviews

Write a review

There are currently no reviews for "Object-Oriented Design and Programming with C++"