Starting Out with C++: Early Objects (Formerly Alternate Edition) / Edition 5

Paperback (Print)
Buy Used
Buy Used from
(Save 39%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $2.05
Usually ships in 1-2 business days
(Save 98%)
Other sellers (Paperback)
  • All (17) from $2.05   
  • New (4) from $14.85   
  • Used (13) from $2.05   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2009

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.

0321383486 New softcover book. Barely cover wear. Includes sealed CD-ROM. FIFTH EDITION. DAILY SHIPPING!

Ships from: Kalamazoo, MI

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

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


Shelving Tag: Introductory Programming/C++
Starting Out with C++: Early Objects (formerly Alternate Version), 5/e
Tony Gaddis, Haywood Community College
Judy Walters, North Central College
Godfrey Muganda, North Central College
ISBN: 0-321-38348-6

The Starting Out with C++ textbook series has students raving. It presents introductory programming concepts in a student-friendly and accessible step-by-step way, ensuring that beginning programmers understand each programming topic.

“My school’s first programming class uses Starting Out with C++. I love your C++ book–it makes everything so easy to understand!”
–Christopher Savage, student at Augusta State University

“I’m using your book in an introductory course in C++. Your book is GREAT!! It abstracts the complexity of C++ down to the core concepts that we can build on. Thanks!”
–Jim Burke, student at University of Texas at Dallas

In addition to Gaddis’ emphasis on practical examples, abundant practice exercises, and focus on problem solving and program design, Starting Out with C++: Early Objects, 5e (formerly called “Alternate Version”):
• Follows the ANSI standard and uses the most currently accepted programming practices
• Covers both procedural and object-oriented programming
• Introduces classes in Chapter 7, right after control structures and functions
• Has new appendices on UML and on .NET and Managed C++
•Illustrates concepts and techniques with over 350 fully runnable example programs• Includes dozens of MyCodeMate programming challenges
Read More Show Less

Product Details

  • ISBN-13: 9780321383488
  • Publisher: Pearson
  • Publication date: 10/14/2005
  • Edition description: Older Edition
  • Edition number: 5
  • Pages: 1184
  • Product dimensions: 7.30 (w) x 9.10 (h) x 1.50 (d)

Meet the Author

Tony Gaddis is the principal author of the “Starting Out with” series of textbooks. Tony teaches computer science courses at Haywood Community College in North Carolina. He is a highly acclaimed instructor who was previously selected as the North Carolina Community College "Teacher of the Year,” and has received the Teaching Excellence award from the National Institute for Staff and Organizational Development. Besides C++ books, the “Starting Out with” series includes introductory books using the Java™ programming language, Microsoft® Visual Basic® .NET, and Microsoft® C#®, all published by Addison-Wesley.
Judy Walters is an Associate Professor of Computer Science at North Central College in Naperville, Illinois. in addition to her many computer science courses, she enjoys teaching a freshman course on film and literature. She also enjoys studying foreign languages and cultures, and recently developed a new course in technology and society, which she taught in Costa Rica Fall, 2005, as part of the college's international studies program.
Godfrey Muganda is an Associate Professor of Computer Science at North Central College in Naperville Illinois, where he chairs the Computer Science Department. He teaches a wide variety of courses at both the undergraduate and graduate levels including courses in Object-Oriented Programming, Comparative Programming Languages, and Complier Design. His primary research interests are in the Fuzzy Sets and Systems. He won the North Central College faculty award for outstanding scholarship in 1993.
Read More Show Less

Table of Contents

CHAPTER 1- Introduction to Computers and Programming
1.1 Why Program?
1.2 Computer Systems: Hardware and Software
1.3 Programs and Programming Languages
1.4 What Is a Program Made of?
1.5 Input, Processing, and Output
1.6 The Programming Process
1.7 Procedural and Object-Oriented Programming
1.8 Case Studies
1.9 Review Questions and Exercises

CHAPTER 2 - Introduction to C++
2.1 The Parts of a C++ Program
2.2 The cout Object
2.3 The #include Directive
2.4 Standard and Prestandard C++
2.5 Variables, Constants, and the Assignment Statement
2.6 Identifiers
2.7 Integer Data Types
2.8 The char Data Type
2.9 The C++ string Class
2.10 Floating-Point Data Types
2.11 The bool Data Type
2.12 Determining the Size of a Data Type
2.13 More on Variable Assignments and Initialization
2.14 Scope
2.15 Arithmetic Operators
2.17 Focus on Software Engineering: Programming Style
2.18 Case Studies
2.19 Review Questions and Exercises

CHAPTER 3 - Expressions and Interactivity
3.1 The cin Object
3.2 Mathematical Expressions
3.3 Implicit Type Conversion
3.4 Explicit Type Conversion
3.5 Overflow and Underflow
3.6 Named Constants
3.7 Multiple and Combined Assignment
3.8 Formatting Output
3.9 Working with Characters and String Objects
3.10 Using C-Strings
3.11 More Mathematical Library Functions
3.12 Introduction to Files
3.13 Focus on Object-Oriented Programming: Member Functions
3.14 Focus on Debugging: Hand Tracing a Program
3.15 Green Fields Landscaping Case Study–Part 1
3.16 Additional Case Studies
3.17 Review Questions and Exercises

CHAPTER 4 - Making Decisions
4.1 Relational Operators
4.2 The if Statement
4.3 The if/else Statement
4.4 The if/else if Statement
4.5 Menus
4.6 Nested if Statements
4.7 Logical Operators
4.8 Checking Numeric Ranges with Logical Operators
4.9 Validating User Input
4.10 More About Variable Definitions and Scope
4.11 Comparing Characters and Strings
4.12 The Conditional Operator
4.13 The switch Statement
4.14 Enumerated Data Types
4.15 Testing for File Open Errors
4.16 Focus on Testing and Debugging: Validating Output Results
4.17 Green Fields Landscaping Case Study–Part 2
4.18 Additional Case Studies
4.19 Review Questions and Exercises

CHAPTER 5 - Looping
5.1 The Increment and Decrement Operators
5.2 Introduction to Loops: The while Loop
5.3 Counters
5.4 Letting the User Control the Loop
5.5 Keeping a Running Total
5.6 Sentinels
5.7 Using a Loop to Read Data From a File
5.8 The do-while and for Loops
5.9 Deciding Which Loop to Use
5.10 Nested Loops
5.11 Breaking Out of a Loop
5.12 The continue Statement
5.13 Focus on Software Engineering: Using Loops for Data Validation
5.14 Focus on Testing and Debugging: Creating Good Test Data
5.15 Central Mountain Credit Union Case Study
5.16 Additional Case Studies
5.17 Review Questions and Exercises

CHAPTER 6 - Functions
6.1 Modular Programming
6.2 Defining and Calling Functions
6.3 Function Prototypes
6.4 Sending Data into a Function
6.5 Passing Data by Value
6.6 The return Statement
6.7 Returning a Value from a Function
6.8 Returning a Boolean Value
6.9 Using Functions in a Menu-Driven Program
6.10 Local and Global Variables
6.11 Static Local Variables
6.12 Default Arguments
6.13 Using Reference Variables as Parameters
6.14 Overloading Functions
6.15 The exit() Function
6.16 Stubs and Drivers
6.17 Little Lotto Case Study
6.18 Additional Case Studies
6.19 Review Questions and Exercises

CHAPTER 7 - Introduction to Classes and Objects
7.1 Combining Data into Structures
7.2 Accessing Structure Members
7.3 Initializing a Structure
7.4 Nested Structures
7.5 Structures as Function Arguments
7.6 Returning a Structure from a Function
7.7 Unions
7.8 Abstract Data Types
7.9 Object-Oriented Programming
7.10 Introduction to Classes
7.11 Introduction to Objects
7.12 Defining Member Functions
7.13 Focus on Software Engineering: Design Considerations
7.14 Using a Constructor with a Class
7.15 Overloading Constructors
7.16 Destructors
7.17 Input Validation Objects
7.18 Using Private Member Functions
7.19 Home Software Company OOP Case Study
7.20 Focus on Software Engineering: Object-Oriented Analysis
7.21 Additional Case Studies
7.22 Review Questions and Exercises

CHAPTER 8 - Arrays
8.1 Arrays Hold Multiple Values
8.2 Accessing Array Elements
8.3 Inputting and Displaying Array Contents
8.4 Array Initialization
8.5 Processing Array Contents
8.6 Using Parallel Arrays
8.7 The typedef Statement
8.8 Arrays as Function Arguments
8.9 Two-Dimensional Arrays
8.10 Arrays with Three or More Dimensions
8.11 Vectors
8.12 National Commerce Bank Case Study
8.13 Arrays of Structures
8.14 Arrays of Class Objects
8.15 Additional Case Studies
8.16 Review Questions and Exercises

CHAPTER 9 - Searching and Sorting Arrays
9.1 Focus on Software Engineering: Introduction to Search Algorithms
9.2 Demetris Leadership Center Case Study–Part 1
9.3 Focus on Software Engineering: Introduction to Sorting Algorithms
9.4 Demetris Leadership Center Case Study–Part 2
9.5 Sorting and Searching Vectors
9.6 Additional Case Studies
9.7 Review Questions and Exercises

CHAPTER 10 - Pointers
10.1 Getting the Address of a Variable
10.2 Pointer Variables
10.3 The Relationship Between Arrays and Pointers
10.4 Pointer Arithmetic
10.5 Initializing Pointers
10.6 Comparing Pointers
10.7 Pointers as Function Parameters
10.8 Focus on Software Engineering: Dynamic Memory Allocation
10.9 Focus on Software Engineering: Returning Pointers from Functions
10.10 Pointers to Structures and Class Objects
10.11 Focus on Software Engineering: Selecting Members of Objects
10.12 United Cause Relief Agency Case Study
10.13 Additional Case Studies
10.14 Review Questions and Exercises

CHAPTER 11 - More About Classes and Object-Oriented Programming
11.1 The this Pointer and Constant Member Functions
11.2 Static Members
11.3 Friends of Classes
11.4 Memberwise Assignment
11.5 Copy Constructors
11.6 Operator Overloading
11.7 Type Conversion Operators
11.8 Convert Constructors
11.9 Object Composition
11.10 Inheritance
11.11 Protected Members and Class Access
11.12 Constructors, Destructors, and Inheritance
11.13 Overriding Base Class Functions
11.14 Case Studies
11.15 Review Questions and Exercises

CHAPTER 12 - More About Characters, Strings, and the string Class
12.1 C-strings
12.2 Library Functions for Working with C-Strings
12.3 String/Numeric Conversion Functions
12.4 Character Testing
12.5 Character Case Conversion
12.6 Writing Your Own C-String Handling Functions
12.7 More About the C++ string Class
12.8 Creating Your Own String Class
12.9 Advanced Software Enterprises Case Study
12.10 Additional Case Studies
12.11 Review Questions and Exercises

CHAPTER 13 - Advanced File and I/O Operations
13.1 Files
13.2 Output Formatting
13.3 Passing File Stream Objects to Functions
13.4 More Detailed Error Testing
13.5 Member Functions for Reading and Writing Files
13.6 Working with Multiple Files
13.7 Binary Files
13.8 Creating Records with Structures
13.9 Random-Access Files
13.10 Opening a File for Both Input and Output
13.11 Online Friendship Connections Case Study: Object Serialization
13.12 Additional Case Studies
13.13 Review Questions and Exercises

CHAPTER 14 - Recursion
14.1 Introduction to Recursion
14.2 The Recursive Factorial Function
14.3 The Recursive gcd Function
14.4 Solving Recursively Defined Problems
14.5 A Recursive Binary Search Function
14.6 Focus on Problem Solving and Program Design: The QuickSort Algorithm
14.7 Focus on Problem Solving: Exhaustive and Enumeration Algorithms
14.8 Focus on Software Engineering: Recursion Versus Iteration
14.9 Case Studies
14.10 Review Questions and Exercises

CHAPTER 15 - Polymorphism, Virtual Functions, and Multiple Inheritance
15.1 Type Compatibility in Inheritance Hierarchies
15.2 Polymorphism and Virtual Member Functions
15.3 Abstract Base Classes and Pure Virtual Functions
15.4 Multiple and Virtual Inheritance
15.5 Focus on Object-Oriented Programming: Composition Versus Inheritance
15.6 Secure Encryption Systems, Inc. Case Study
15.7 Review Questions and Exercises

CHAPTER 16 - Exceptions, Templates, and the Standard Template Library (STL)
16.1 Exceptions
16.2 Function Templates
16.3 Class Templates
16.4 Class Templates and Inheritance
16.5 Introduction to the Standard Template Library
16.6 Case Studies
16.7 Review Questions and Exercises

CHAPTER 17 - Linked Lists
17.1 Introduction to the Linked List ADT
17.2 Linked List Operations
17.3 A Linked List Template
17.4 Recursive Linked List Operations
17.5 Variations of the Linked List
17.6 The STL list Container
17.7 Reliable Software Systems, Inc. Case Study
17.8 Additional Case Studies
17.9 Review Questions and Exercises

CHAPTER 18 - Stacks and Queues
18.1 Introduction to the Stack ADT
18.2 Dynamic Stacks
18.3 The STL stack Container
18.4 Introduction to the Queue ADT
18.5 Dynamic Queues
18.6 The STL deque and queue Containers
18.7 Focus on Problem Solving and Program Design: Eliminating Recursion
18.8 Review Questions and Exercises

CHAPTER 19 - Binary Trees
19.1 Definition and Applications of Binary Trees
19.2 Binary Search Tree Operations
19.3 Template Considerations for Binary Search Trees
19.4 Case Studies
19.5 Review Questions and Exercises
Appendix A The ASCII Character Set
Appendix B Operator Precedence and Associativity

Appendices on the accompanying student CD
Appendix C An Object-Oriented System Development Primer
Appendix D Using UML in Class Design (NEW)
Appendix E Namespaces
Appendix F Passing Command Line Arguments
Appendix G Header File and Library Function Reference
Appendix H Binary Numbers and Bitwise Operations
Appendix I C++ Casts and Run-Time Type Identification
Appendix J Multi-Source File Programs
Appendix K Introduction to Microsoft Visual C++ 6.0
Appendix L Introduction to Borland C++ Builder 5.0
Appendix M Introduction to Microsoft Visual C++ .NET
Appendix N .NET and Managed C++ (NEW)
Appendix O Introduction to Flowcharting
Appendix P Answers to Checkpoints
Appendix Q Answers to Odd-Numbered Review Questions
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & 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 & 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 & 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 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 & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & 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 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

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