did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321383488

Starting Out with C++ : Early Objects

by ; ;
  • ISBN13:

    9780321383488

  • ISBN10:

    0321383486

  • Edition: 5th
  • Format: Paperback w/CD
  • Copyright: 2008-01-01
  • Publisher: Addison Wesley
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $113.00

Summary

Starting Out With C++: Early Objects is intended for either a one semester traditional introductory programming course or a two-semester C++ programming sequence, with introductory material placed in the first half of the text and more advanced topics, such as recursion and data structures, placed in the second half. Objects are introduced early, right after control structures and before arrays and pointers. The STL string class is used throughout. As with all Gaddis books, there is a strong emphasis on problem solving and program design, a careful step-by-step introduction of each new topic, clear and easy to read code listings, concise and practical real world examples, and an abundance of exercises in each chapter.

Table of Contents

Preface xv
Introduction to Computers and Programming
1(28)
Why Program?
1(1)
Computer Systems: Hardware and Software
2(4)
Programs and Programming Languages
6(6)
What Is a Program Made of?
12(4)
Input, Processing, and Output
16(2)
The Programming Process
18(4)
Procedural and Object-Oriented Programming
22(2)
Case Studies
24(1)
Review Questions and Exercises
25(4)
Introduction to C++
29(50)
The Parts of a C++ Program
29(4)
The cout Object
33(4)
The #include Directive
37(2)
Standard and Prestandard C++
39(1)
Variables, Constants, and the Assignment Statement
40(5)
Identifiers
45(2)
Integer Data Types
47(5)
The char Data Type
52(4)
The C++ string Class
56(1)
Floating-Point Data Types
57(4)
The bool Data Type
61(1)
Determining the Size of a Data Type
62(1)
More on Variable Assignments and Initialization
63(1)
Scope
64(1)
Arithmetic Operators
65(3)
Comments
68(2)
Focus on Software Engineering: Programming Style
70(2)
Case Studies
72(1)
Review Questions and Exercises
72(7)
Expressions and Interactivity
79(88)
The cin Object
79(6)
Mathematical Expressions
85(8)
Implicit Type Conversion
93(2)
Explicit Type Conversion
95(3)
Overflow and Underflow
98(3)
Named Constants
101(6)
Multiple and Combined Assignment
107(4)
Formatting Output
111(10)
Working with Characters and String Objects
121(7)
Using C-Strings
128(5)
More Mathematical Library Functions
133(5)
Introduction to Files
138(8)
Focus on Object-Oriented Programming: Member Functions
146(1)
Focus on Debugging: Hand Tracing a Program
147(2)
Green Fields Landscaping Case Study---Part 1
149(3)
Additional Case Studies
152(1)
Review Questions and Exercises
152(15)
Making Decisions
167(88)
Relational Operators
167(6)
The if Statement
173(10)
The if/else Statement
183(3)
The if/else if Statement
186(6)
Menus
192(2)
Nested if Statements
194(4)
Logical Operators
198(8)
Checking Numeric Ranges with Logical Operators
206(1)
Validating User Input
207(2)
More About Variable Definitions and Scope
209(6)
Comparing Characters and Strings
215(4)
The Conditional Operator
219(4)
The switch Statement
223(9)
Enumerated Data Types
232(3)
Testing for File Open Errors
235(1)
Focus on Testing and Debugging: Validating Output Results
236(3)
Green Fields Landscaping Case Study---Part 2
239(4)
Additional Case Studies
243(1)
Review Questions and Exercises
243(12)
Looping
255(58)
The Increment and Decrement Operators
255(5)
Introduction to Loops: The while Loop
260(4)
Counters
264(2)
Letting the User Control the Loop
266(2)
Keeping a Running Total
268(1)
Sentinels
269(2)
Using a Loop to Read Data From a File
271(3)
The do-while and for Loops
274(10)
Deciding Which Loop to Use
284(1)
Nested Loops
285(3)
Breaking Out of a Loop
288(2)
The continue Statement
290(2)
Focus on Software Engineering: Using Loops for Data Validation
292(3)
Focus on Testing and Debugging: Creating Good Test Data
295(3)
Central Mountain Credit Union Case Study
298(5)
Additional Case Studies
303(1)
Review Questions and Exercises
303(10)
Functions
313(78)
Modular Programming
313(1)
Defining and Calling Functions
314(8)
Function Prototypes
322(2)
Sending Data into a Function
324(4)
Passing Data by Value
328(4)
The return Statement
332(2)
Returning a Value from a Function
334(4)
Returning a Boolean Value
338(2)
Using Functions in a Menu-Driven Program
340(3)
Local and Global Variables
343(6)
Static Local Variables
349(4)
Default Arguments
353(4)
Using Reference Variables as Parameters
357(8)
Overloading Functions
365(4)
The exit () Function
369(4)
Stubs and Drivers
373(3)
Little Lotto Case Study
376(5)
Additional Case Studies
381(1)
Review Questions and Exercises
381(10)
Introduction to Classes and Objects
391(86)
Combining Data into Structures
391(3)
Accessing Structure Members
394(4)
Initializing a Structure
398(4)
Nested Structures
402(4)
Structures as Function Arguments
406(4)
Returning a Structure from a Function
410(3)
Unions
413(4)
Abstract Data Types
417(2)
Object-Oriented Programming
419(4)
Introduction to Classes
423(2)
Introduction to Objects
425(2)
Defining Member Functions
427(7)
Focus on Software Engineering: Design Considerations
434(5)
Using a Constructor with a Class
439(1)
Overloading Constructors
440(3)
Destructors
443(4)
Input Validation Objects
447(4)
Using Private Member Functions
451(3)
Home Software Company OOP Case Study
454(7)
Focus on Software Engineering: Object-Oriented Analysis
461(3)
Additional Case Studies
464(1)
Review Questions and Exercises
464(13)
Arrays
477(90)
Arrays Hold Multiple Values
477(2)
Accessing Array Elements
479(2)
Inputting and Displaying Array Contents
481(6)
Array Initialization
487(6)
Processing Array Contents
493(9)
Using Parallel Arrays
502(4)
The typedef Statement
506(1)
Arrays as Function Arguments
507(9)
Two-Dimensional Arrays
516(8)
Arrays with Three or More Dimensions
524(4)
Vectors
528(12)
National Commerce Bank Case Study
540(3)
Arrays of Structures
543(4)
Arrays of Class Objects
547(8)
Additional Case Studies
555(1)
Review Questions and Exercises
556(11)
Searching and Sorting Arrays
567(40)
Focus on Software Engineering: Introduction to Search Algorithms
567(7)
Demetris Leadership Center Case Study---Part 1
574(7)
Focus on Software Engineering: Introduction to Sorting Algorithms
581(8)
Demetris Leadership Center Case Study---Part 2
589(7)
Sorting and Searching Vectors
596(5)
Additional Case Studies
601(1)
Review Questions and Exercises
602(5)
Pointers
607(50)
Getting the Address of a Variable
607(2)
Pointer Variables
609(4)
The Relationship Between Arrays and Pointers
613(4)
Pointer Arithmetic
617(2)
Initializing Pointers
619(2)
Comparing Pointers
621(3)
Pointers as Function Parameters
624(4)
Focus on Software Engineering: Dynamic Memory Allocation
628(4)
Focus on Software Engineering: Returning Pointers from Functions
632(3)
Pointers to Structures and Class Objects
635(6)
Focus on Software Engineering: Selecting Members of Objects
641(2)
United Cause Relief Agency Case Study
643(8)
Additional Case Studies
651(1)
Review Questions and Exercises
652(5)
More About Classes and Object-Oriented Programming
657(104)
The this Pointer and Constant Member Functions
657(5)
Static Members
662(7)
Friends of Classes
669(6)
Memberwise Assignment
675(2)
Copy Constructors
677(8)
Operator Overloading
685(36)
Type Conversion Operators
721(5)
Convert Constructors
726(4)
Object Composition
730(2)
Inheritance
732(4)
Protected Members and Class Access
736(6)
Constructors, Destructors, and Inheritance
742(5)
Overriding Base Class Functions
747(3)
Case Studies
750(1)
Review Questions and Exercises
750(11)
More About Characters, Strings, and the string Class
761(60)
C-strings
761(5)
Library Functions for Working with C-Strings
766(12)
String/Numeric Conversion Functions
778(3)
Character Testing
781(5)
Character Case Conversion
786(2)
Writing Your Own C-String Handling Functions
788(6)
More About the C++ string Class
794(5)
Creating Your Own String Class
799(12)
Advanced Software Enterprises Case Study
811(2)
Additional Case Studies
813(1)
Review Questions and Exercises
814(7)
Advanced File and I/O Operations
821(68)
Files
821(9)
Output Formatting
830(8)
Passing File Stream Objects to Functions
838(2)
More Detailed Error Testing
840(4)
Member Functions for Reading and Writing Files
844(10)
Working with Multiple Files
854(1)
Binary Files
855(4)
Creating Records with Structures
859(4)
Random-Access Files
863(7)
Opening a File for Both Input and Output
870(5)
Online Friendship Connections Case Study: Object Serialization
875(5)
Additional Case Studies
880(1)
Review Questions and Exercises
881(8)
Recursion
889(28)
Introduction to Recursion
889(8)
The Recursive Factorial Function
897(2)
The Recursive gcd Function
899(1)
Solving Recursively Defined Problems
900(2)
A Recursive Binary Search Function
902(2)
Focus on Problem Solving and Program Design: The QuickSort Algorithm
904(4)
Focus on Problem Solving: Exhaustive and Enumeration Algorithms
908(4)
Focus on Software Engineering: Recursion Versus Iteration
912(1)
Case Studies
913(1)
Review Questions and Exercises
913(4)
Polymorphism, Virtual Functions, and Multiple Inheritance
917(40)
Type Compatibility in Inheritance Hierarchies
917(4)
Polymorphism and Virtual Member Functions
921(5)
Abstract Base Classes and Pure Virtual Functions
926(5)
Multiple and Virtual Inheritance
931(9)
Focus on Object-Oriented Programming: Composition Versus Inheritance
940(5)
Secure Encryption Systems, Inc. Case Study
945(4)
Review Questions and Exercises
949(8)
Exceptions, Templates, and the Standard Template Library (STL)
957(52)
Exceptions
957(12)
Function Templates
969(9)
Class Templates
978(6)
Class Templates and Inheritance
984(4)
Introduction to the Standard Template Library
988(15)
Case Studies
1003(1)
Review Questions and Exercises
1003(6)
Linked Lists
1009(46)
Introduction to the Linked List ADT
1009(7)
Linked List Operations
1016(16)
A Linked List Template
1032(5)
Recursive Linked List Operations
1037(6)
Variations of the Linked List
1043(1)
The STL list Container
1044(2)
Reliable Software Systems, Inc. Case Study
1046(3)
Additional Case Studies
1049(1)
Review Questions and Exercises
1050(5)
Stacks and Queues
1055(40)
Introduction to the Stack ADT
1055(10)
Dynamic Stacks
1065(4)
The STL stack Container
1069(2)
Introduction to the Queue ADT
1071(8)
Dynamic Queues
1079(3)
The STL deque and queue Containers
1082(3)
Focus on Problem Solving and Program Design: Eliminating Recursion
1085(5)
Review Questions and Exercises
1090(5)
Binary Trees
1095(26)
Definition and Applications of Binary Trees
1095(4)
Binary Search Tree Operations
1099(17)
Template Considerations for Binary Search Trees
1116(1)
Case Studies
1116(1)
Review Questions and Exercises
1116(5)
Appendix A The ASCII Character Set 1121(4)
Appendix B Operator Precedence and Associativity 1125(2)
Index 1127

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program