Always Learning

C++ Programming with Design Patterns Revealed
Tomasz MuldnerAcadia University

ISBN-10: 0201722313
ISBN-13:  9780201722314

Publisher:  Addison-Wesley
Copyright:  2002
Format:  Paper; 528 pp
Published:  10/05/2001
Status: Instock


Customers outside the U.S., click here.


Print this content

In this section:


Description

C++ Programming with Design Patterns Revealed is the first book to integrate learning the C++ language with design patterns. It promotes using patterns as the recurring solutions to design problems, resulting in effective, well-structured and reusable programs.

C++ Programming with Design Patterns Revealed is intended for readers already familiar with Java or any other objected oriented programming language. Unlike most books on design patterns, which are appropriate only for advanced programmers, this book is written for C++ novices. Each design pattern is clearly described, illustrated using the Unified Modeling language (UML) and supplemented with carefully integrated examples.

C++ Programming with Design Patterns Revealed covers the full spectrum of programming paradigms, starting with procedural programming, and then moving on to object-based, object-oriented and generic programming paradigm. It provides complete in-depth coverage of all essential features of the current C++ ANSI standard, including namespaces, exception handling, generic programming and an introduction to the Standard Template Library (STL). However, the book does not stop at describing the syntax and semantics of the language. Various design patterns are used to describe numerous high-level concepts, including smart pointers, reference counting, double dispatching, heterogeneous containers, and many others.


Features

  • Specially marked sections that present programming guidelines, idioms, advanced topics, typical errors, and modeling concepts used in generic programming.
  • 27 programming idioms.
  • 11 design patterns.
  • 27 tables comparing C++ and Java.
  • 70 figures, many of which consist of UML diagrams for examples in the text.
  • 35 examples of C++ programs and solutions to some of the enclosed 110 exercises available online.


Table of Contents



1. A Quick Tour of C++.

Preview.

First Example.

Basic Constructs.

Inheritance.

Exceptions and Namespaces.

Generic Programming.

Second Example: Arithmetic Expressions.

Version I.

Version II.



2. Procedural Programming.

Preview.

Introduction to Principles of Software Design and Implementation.

Main Program.

Basics: Types, Control Structures and Simple I/O.

Functions.

Pointers and Dynamic Memory Management.

Static Local Variables.

File Organization and Standard Facilities.

Exercises.



3. Object-Based Programming, Part I.

Preview.

Basic Terminology and Class Definition.

Exception Handling.

Managing Objects.

Constant and Static Features.

Pure Static Classes.

Initialization of Local and Global Variables.

Reference Types and Their Applications.

Resources Management, Part I: The Use of Constructors, Assignment Operator and Destructor.

Arrays.

Exercises.



4. Object-Based Programming, Part II.

Preview.

UML Class Notations.

Reusability through Object Composition.

Managing the Creational Process, Part I.

First Design Pattern: Singleton.

Namespaces, Part II.

Need for Recompiling and Header Files, Part I.

Application: List of Students.

Exercises.



5. Object-Oriented Programming, Part I.

Preview.

Basic Terminology and a Derived Class Definition.

Public Inheritance.

Creating Objects.

RTTI and Type Conversions.

Copy Constructors.

Scope and Visibility Modifiers.

Polymorphism and Virtual Functions.

Destructing Objects.

Overloaded Assignments.

Overloading and Overriding.

Passing Arguments by Value and by Reference.

Standard Exceptions.

Resource Management, Part II.

Abstract Operations and Classes.

Friends.

Exercises.



6. Object-Oriented Programming, Part II.

Preview.

Managing the Creational Process, Part II: Abstract Factory Design Pattern.

Private Inheritance.

Protected Inheritance.

Revisiting Inheritance.

Programming to an Interface.

Application of Design Patterns: Arithmetic Expressions.

Exercises.



7. Introduction to Generic Programming: Parameterized Types.

Preview.

Introduction.

Overloaded Operators.

Proxy Design Pattern.

Designing Iterators.

Templates.

Resource Management, Part III.

Inheritance and Delegation versus Parameterized Types.

Applications of Templates to Design Patterns.

Exercises.



8. Generic Programming Using STL.

Preview.

Introduction.

Introduction to Iterators and Containers.

Iterators, Part I.

Making Algorithms Generic.

Generic Algorithms.

Containers and Their Common Types and Operations.

Iterators, Part II.

Sequence Operations.

Associative Containers: Sets, Maps, Multisets and Multimaps.

STL and Error Handling.

Reference Counting and STL Containers.

Exercises.



9. Miscellaneous Topics.

Preview.

Input/Output Library.

Separate Compilation and Linkage.

Generic Pointers and Pointers to Functions.

Overloading Memory Management.

Debugging and Handling Errors.

Type ID.

Multiple Inheritance.

Pointers to Members and Function Adapters.

Heterogeneous Containers and Composite and Visitor Design Patterns.

Exercises.



Appendices.

A. The List of Tables, Figures and Examples.

B. The List of Idioms, Patterns and Concepts.

C. The List of C++ Keywords.

D. Numeric Types.

E. Strings Operations.

F. The List of Generic Algorithms.

G. The List of Standard Header Files.

H. The List of C++ Compilers and STL Libraries.

I. Bibliography.



Back to top

Print this content

In this section:


Backcover Copy

C++ Programming with Design Patterns Revealed is the first book to integrate learning the C++ language with design patterns. It promotes using patterns as the recurring solutions to design problems, resulting in effective, well-structured and reusable programs.

C++ Programming with Design Patterns Revealed is intended for readers already familiar with Java or any other objected oriented programming language. Unlike most books on design patterns, which are appropriate only for advanced programmers, this book is written for C++ novices. Each design pattern is clearly described, illustrated using the Unified Modeling language (UML) and supplemented with carefully integrated examples.

C++ Programming with Design Patterns Revealed covers the full spectrum of programming paradigms, starting with procedural programming, and then moving on to object-based, object-oriented and generic programming paradigm. It provides complete in-depth coverage of all essential features of the current C++ ANSI standard, including namespaces, exception handling, generic programming and an introduction to the Standard Template Library (STL). However, the book does not stop at describing the syntax and semantics of the language. Various design patterns are used to describe numerous high-level concepts, including smart pointers, reference counting, double dispatching, heterogeneous containers, and many others.

Features

  • Specially marked sections that present programming guidelines, idioms, advanced topics, typical errors, and modeling concepts used in generic programming
  • 27 programming idioms
  • 11 design patterns
  • 27 tables comparing C++ and Java
  • 70 figures, many of which consist of UML diagrams for examples in the text
  • 35 examples of C++ programs and solutions to some of the enclosed 110 exercises available online

Back to top

Print this content

In this section:

Lecture Presentations
Muldner
©2002  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321359836  |  ISBN-13: 9780321359834

Show Downloadable Files
 | More Info

Solutions
Muldner
©2002  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321359844  |  ISBN-13: 9780321359841

Show Downloadable Files
 | More Info

Back to top

PowerPoint Slides

©2002  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321359852  |  ISBN-13: 9780321359858
More Info

Back to top


Websites and online courses

Source Code

©2002  |  Addison-Wesley  |  On-line Supplement  |  Live
ISBN-10: 0321359755  |  ISBN-13: 9780321359759
More Info

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.

Package ISBN-10: 0321109635 | ISBN-13: 9780321109637
©2002 | Instock (Additional assembly time required)
Suggested retail price: $197.00  Buy from myPearsonStore

This package contains:

Muldner | ©2002 | Addison-Wesley | Paper; 528 pp
Budd | ©1999 | Addison-Wesley | Paper; 290 pp


Back to top