C++ for Dummies / Edition 5

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 92%)
Other sellers (Paperback)
  • All (30) from $1.99   
  • New (1) from $58.77   
  • Used (29) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by


Tired of weighty programming manuals jammed with jumbled jargon? C++ For Dummies, 3rd Edition, gets right to the point! With this easy-to-follow reference, you'll figure out all the features of C++ -- and why you need them --and you'll develop complete C++ programs in no time.

Inside, find helpful advice on how to

  • Brush up on C++ expressions, pointers, and structures
  • Find out how non-object-oriented features -- variables, functions, and stream I/O -- work in C++
  • Get the lowdown on object-oriented programming
  • Add class to C++ -- streamline your programming with reusable classes
  • Avoid bugs and handle errors
  • Add new capabilities to existing classes by using inheritance functions
  • Tweak your programming environment with C++ optional features -- access control specifiers, operator overloading, and object validation
  • Recognize the differences among the various compiler options, including Borland, Microsoft, Turbo, and Symantec
Read More Show Less

Product Details

  • ISBN-13: 9780764568527
  • Publisher: Wiley
  • Publication date: 5/17/2004
  • Series: For Dummies Series
  • Edition description: REV
  • Edition number: 5
  • Pages: 432
  • Product dimensions: 9.20 (w) x 10.92 (h) x 0.93 (d)

Table of Contents


About This Book
About the CD
What Is C++?
Who Are You?
How This Book Is Organized
At the end of each part...
Part I: Charting a Course: A Review of C
Part II: Getting Your Feet Wet: The Non­Object-Oriented Features of C++
Part III: Wading In: Introduction to Classes
Part IV: Warming to the Water: Getting Comfortable with Classes
Part V: Plunging In: Inheritance
Part VI: Advanced Strokes: Optional Features
Part VII: The Part of Tens
What You Don't Need to Read
Icons Used in This Book
Now What?

Part I: Charting a Course: A Review of C

Chapter 1: C, C Dick, C Jane
How Did We Come to C?
Declaring Simple Variables
Declaring Storage Class
Global variables
Local variables
Declaring Functions
Mastering the Ins and Outs of C Expressions
Smooth operators
Mathematical operators
Bitwise operators
Logical operators
Assignment operators
Miscellaneous operators
Special operator considerations
Chapter 2: C Pointers
Declaring and Using Simple Pointers
Operating on Pointers
Incrementing pointers
Defining other operations on pointers
Arrays and Pointers: Can You Ever Get Them Together?
Passing Pointers to Functions
Declaring Pointers to Functions
Allocating Heap Memory
Chapter 3: User-Defined Types: The C Structure
C Structures 101
Pointers to C Structures
Operations on pointers to structures
Using pointers to structures
Structures and Functions
Allocating Structures from the Heap
The C Version of the Budget Program: BUDGET1.C

Part II: Getting Your Feet Wet: The Non-Object-Oriented Features of C++

Chapter 4: Some Simple Stuff
A New Comment Style
Why do I need it?
How does it work?
Variable Declarations Anywhere You Want
Why do I need them?
How do they work?
Constant Variables
Why do I need them?
How do they work?
Volatile Variables
Why do I need them?
The Referential Type Specifier
Why do I need it?
How does it work?
Chapter 5: Functions, I Declare!
Function Prototypes
Why do I need them?
Why do I want my compiler complaining at me?
How do they work?
Inline Functions
Why do I need them?
Can't I do that in C?
How do they work?
How much faster is faster?
Function Overloading
Why do I need it?
How does it work?
What constitutes sufficiently different?
So what's not different enough?
Print what you want about me, but don't mangle the name
Case 1
Case 2
Default Arguments to Functions
Why do I need them?
How do they work?
Being overloadingly argumentative
Importance of Function Declarations
Chapter 6: Stream Input and Output
Why Do I Need Streams After the Rivers of printfs I'm Used To?
The case for stream I/O: Part 1
The case for stream I/O: Part 2
How Does Stream I/O Work?
Give It a Try
Rewriting BUDGET as a C++ Program: BUDGET2.CPP

Part III: Wading In: Introduction to Classes

Chapter 7: Object-Oriented Programming
Abstraction and Microwave Ovens
Functional nachos
Object-oriented nachos
Classification and Microwave Ovens
Why Classify?
Chapter 8: Adding Class to C++
Why Add Classes to C++?
How Do I Add Classes to C++?
Defining a Member Function in the Class
Keeping a Member Function After Class
Calling a Member Function
Calling a member function with a pointer?
Accessing members from a member function
Overloading Member Functions
Chapter 9: Do Not Disturb: Protected Members
Protected Members
Why do I need them?
How do they work?
Tell Me Again Why I Should Use Protected Members
The class can protect its internal state
It's easier to use a class with a limited interface
What Are Friends for Anyway?
Why do I need friends? I am a rock, I am an island
How do they work?
Chapter 10: Getting an Object Off to a Good Start: The Constructor
Creating Objects
Using Constructors
Why do I need them?
How do they work?
Using the Destructor
Why do I need it?
How does it work?
Chapter 11: Finding the Classes
Object-Oriented Analysis and Design
An Example Analysis and Design Problem
Quick analysis and design: An object-oriented approach
An object-oriented solution to the problem
Trial and Error
A Budget with Class BUDGET3.CPP

Part IV: Warming to the Water: Getting Comfortable with Classes

Chapter 12: Making Constructive Arguments
Constructors Outfitted with Arguments
Why do I need them?
How do they work?
Overloading the Constructor Is That Like Placing Too Many Demands on the Carpenter?
Default Default Constructors
Constructing Class Members
Order of Construction
Local objects are constructed in order
Static objects are constructed only once
All global objects are constructed before main
Global objects are constructed in no particular order
Members are constructed in the order in which they are declared
Destructors are invoked in the reverse order of the constructors
Chapter 13: More New and Improved Keywords
The new Keywords: Now You're free to delete malloc
Why do I need them?
How do they work?
Allocating Arrays
Chapter 14: The Copy Copy Copy Constructor
The Copy Constructor
Why do I need it?
How does it work?
The Automatic Copy Constructor
Shallow Copies versus Deep Copies
It's a Long Way to Temporaries
Chapter 15: Changing an Object's Type
Nameless Objects
Why do I need them?
How do they work?
Type Conversion Using Constructors
Chapter 16: Static Members: Can Fabric Softener Help?
Static Data Members
Why do I need them?
How do they work?
Referencing static data members
Uses for static data members
Static Member Functions
Maintaining a More Reasonable Budget: BUDGET4.CPP

Part V: Plunging In: Inheritance

Chapter 17: Inheritance How Do I Get Mine?
Why Do I Need Inheritance?
How Does Inheritance Work?
Constructing a Subclass
The HAS_A Relationship
Chapter 18: Virtual Member Functions: Are They for Real?
Why Do I Need Polymorphism?
How Does Polymorphism Work?
Making Nachos the Polymorphic Way
When Is a Virtual Function Not?
Virtual Considerations
Chapter 19: Class Factoring and Abstract Classes
Implementing Abstract Classes
How do they work?
Making an honest class out of an abstract class
Passing abstract classes
Why do I need pure virtual functions?
Determining the Run-Time Type
Run-time type identification
Avoiding RTTI
Using Inheritance to Rationalize the Budget: BUDGET5.CPP

Part VI: Advanced Strokes: Optional Features

Chapter 20: Access Control Specifiers
Really Exclusive Club: Private Members
When should I use private, and when can I stay with protected?
How do I use private?
Secret Wills, or Non-Public Inheritance
When Is a Subclass Not?
When to Declare What
Chapter 21: Overloading Operators
Why Do I Need to Overload Operators?
How Does an Operator Function and a Function Operate?
How Does Operator Overloading Work?
A More Detailed Look
Operators as Member Functions
Yet Another Overloading Irritation
Cast Operator
Chapter 22: The Assignment Operator
Why Is Overloading the Assignment Operator So Critical?
How Do I Overload the Assignment Operator?
Chapter 23: Stream I/O
How Does Stream I/O Work?
The fstream Subclasses
The strstream Subclasses
Custom Inserters
Smart Inserters
Chapter 24: Object Validation and Signature Fields
Accessing Data Members with Invalid Pointers
Invoking Member Functions with Invalid Pointers
So What Do You Do about Invalid Pointers?
What Else Can isLegal Do?
Saving Time with Object Validation
Chapter 25: Handling Errors -- Exceptions
Why Do I Need a New Error Mechanism?
How Do Exceptions Work?
What Kinds of Things Can I Throw?
Chapter 26: Templates
Why Do I Need Templates?
Template Functions
Instancing Template Functions with Classes
Template Classes
Do I really need template classes?
Template member functions
Tips for using templates
Example Application
Template class SLL
Using SLL, the BUDGET6 program
Forget Those Macros
Chapter 27: Multiple Inheritance
How Does Multiple Inheritance Work?
Inheritance Ambiguities
Virtual Inheritance
Constructing the Objects of Multiple Inheritance
A Contrary Opinion

Part VII: The Part of Tens

Chapter 28: Ten Ways to Avoid Adding Bugs to Your Program
Enabling All Warnings and Error Messages
Insisting on Clean Compiles
Adopting a Clear and Consistent Coding Style
Limiting the Visibility
Using a Signature Field
Commenting Your Code While You Write It
Single Stepping Every Path at Least Once
Avoid Overloading Operators
Using Exceptions to Handle Errors
Avoiding Multiple Inheritance
Chapter 29: The Ten Most Important Microsoft Visual C++ Compiler Switches
Generating a Command Line Program
Changing Project Settings
Choosing General Settings
Selecting Settings for Debug
Choosing General Options for C/C++
Controlling C++ Language Settings
Choosing Code Generation Settings
Customizing with the Code Generation Window
Controlling Compile Optimizations
Selecting Precompiled Headers
Appendix A: Glossary
Appendix B: About the CD
System Requirements
Using the CD with Microsoft Windows
What You'll Find
If You've Got Problems Of the CD Kind


License Agreement

Installation Instructions

Book Registration Information

Read More Show Less

Customer Reviews

Average Rating 4
( 36 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 6 Customer Reviews
  • Posted March 16, 2009

    more from this reviewer

    Both my teenage son and daughter enjoy this book.

    Both of my children enjoy this book and refer back to it when needed.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted February 2, 2009

    An incredible book for the beginning programmer.

    I've seen some bad reviews of this book, people saying that it's not a good starter, it's complex, it's only good for reference, etc, but I can't say I agree with these. I used this book to learn C++ as my first language, and I still say this is the best I've ever read. It's by no means an easy read, but it's definitely worth it. Since then, I've learned a few other languages (VB, VBA, Java, and Javascript) and the information and logic in this book has served me well through all of it. If you want to start programming and you're looking for a place to start, I can't think of anywhere but this book.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 27, 2007

    an okay reference

    I wouldn't recommend reading this book if you've never programmed before or you are searching for a primary readng book for learning C++. It's a good reference for C++ programmers but it is probably to hard for a beginner of programming to start with. Recommendeded ONLY if you need a reference. If you are new to programming, look up 'beginning programming' in the 'For dummies' series and Visual Basic 6 in the for dummies series as well, those are better starter books.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 25, 2006

    Covers Beginning Material, But Oh So Painfully

    This book covers the material it claims but there are multiple errors in the programs written in the book. This lack of attention to detail is found in the often confusing and imprecisely written explanations. I would recommend this book as a casual reference or supplimentary text but not as a primary source of studying C++.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 29, 2005



    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 9, 2000

    very basic intro, not a solid reference

    Touted as a C++ book for experienced C programmers, this book gives a good beginning on OO design and concepts. However, if you already have a general idea of what that is, save yourself the money. This is NOT a reference book. It may be good for a beginning C programmer to transition to C++ with, but intermediate or advanced programmers of any language would be better off skimming this in the store or buying another book on OO methodology, and getting a C++ reference.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 6 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)