Skip to content

Starting Out with C++ From Control Structures Through Objects

Best in textbook rentals since 2012!

ISBN-10: 0321409396

ISBN-13: 9780321409393

Edition: 5th 2007 (Revised)

Authors: Tony Gaddis

List price: $119.40
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

Starting Out with C++ teaches C++ from the ground up, and assumes no prior background in programming. In Starting Out With C++, Gaddis makes a very detailed and slow-paced presentation of both programming and C++ syntax concepts so all readers will be able to follow along. Objects are introduced after control structures, functions, arrays, and pointers, and C-style strings are used throughout. This book is designed for readers without prior programming experience, and is also appropriate for those with knowledge of other languages who want to learn the C++ programming language.
Customers also bought

Book details

List price: $119.40
Edition: 5th
Copyright year: 2007
Publisher: Addison-Wesley Longman, Incorporated
Binding: Mixed Media
Pages: 1200
Size: 8.00" wide x 10.00" long x 1.50" tall
Weight: 4.334
Language: English

Preface
Introduction to Computers and Programming
Why Program?
Computer Systems: Hardware and Software
Programs and Programming Languages
What Is a Program Made of?
Input, Processing, and Output
The Programming Process
Procedural and Object-Oriented Programming
Introduction to C++
The Parts of a C++ Program
The cout Object
The #include Directive
Variables and Literals
Identifiers
Integer Data Types
The char Data Type
Floating-Point Data Types
The bool Data Type
Determining the Size of a Data Type
Variable Assignments and Initialization
Scope
Arithmetic Operators
Comments
Focus on Software Engineering: Programming Style
If You Plan to Continue in Computer Science: Standard and Prestandard C++
Expressions and Interactivity
The cin Object
Mathematical Expressions
When You Mix Apples and Oranges: Type Conversion
Overflow and Underflow
Type Casting
Named Constants
Multiple Assignment and Combined Assignment
Formatting Output
Formatted Input
Focus on Object-Oriented Programming: More About Member Functions
More Mathematical Library Functions
Focus on Debugging: Hand Tracing a Program
Focus on Problem Solving: A Case Study
Introduction to File Input and Output
Making Decisions
Relational Operators
The if Statement
Flags
Expanding the if Statement
The if/else Statement
The if/else if Statement
Using a Trailing else
Menus
Focus on Software Engineering: Nested if Statements
Logical Operators
Checking Numeric Ranges with Logical Operators
Focus on Software Engineering: Validating User Input
More About Variable Definitions and Scope
Comparing Strings
The Conditional Operator
The switch Statement
Testing for File Open Errors
Looping
The Increment and Decrement Operators
Introduction to Loops: The while Loop
Using the while Loop for Input Validation
Counters
The do-while Loop
The for Loop
Keeping a Running Total
Sentinels
Using a Loop to Read Data from a File
Focus on Software Engineering: Deciding Which Loop to Use
Nested Loops
Breaking Out of a Loop
The continue Statement
Functions
Focus on Software Engineering: Modular Programming
Defining and Calling Functions
Function Prototypes
Sending Data into a Function
Passing Data by Value
Focus on Software Engineering: Using Functions in a Menu-Driven Program
The return Statement
Returning a Value from a Function
Returning a Boolean Value
Local and Global Variables
Static Local Variables
Default Arguments
Using Reference Variables as Parameters
Overloading Functions
The exit() Function
Stubs and Drivers
Arrays
Arrays Hold Multiple Values
Accessing Array Elements
No Bounds Checking in C++
Array Initialization
Processing Array Contents
Focus on Software Engineering: Using Parallel Arrays
Arrays as Function Arguments
Two-Dimensional Arrays
Arrays of Strings
Arrays with Three or More Dimensions
Focus on Problem Solving and Program Design: A Case Study
If You Plan to Continue in Computer Science: Introduction to the STL vector
Searching and Sorting Arrays
Focus on Software Engineering: Introduction to Search Algorithms
Focus on Problem Solving and Program Design: A Case Study
Focus on Software Engineering: Introduction to Sorting Algorithms
Focus on Problem Solving and Program Design: A Case Study
If You Plan to Continue in Computer Science: Sorting and Searching vectors
Pointers
Getting the Address of a Variable
Pointer Variables
The Relationship Between Arrays and Pointers
Pointer Arithmetic
Initializing Pointers
Comparing Pointers
Pointers as Function Parameters
Focus on Software Engineering: Dynamic Memory Allocation
Focus on Software Engineering: Returning Pointers from Functions
Focus on Problem Solving and Program Design: A Case Study
Characters, Strings, and the string Class
Character Testing
Character Case Conversion
Review of the Internal Storage of C-Strings
Library Functions for Working with C-Strings
String/Numeric Conversion Functions
Focus on Software Engineering: Writing Your Own C-String-Handling Functions
The C++ string Class
Focus on Problem Solving and Program Design: A Case Study
Structured Data
Abstract Data Types
Focus on Software Engineering: Combining Data into Structures
Accessing Structure Members
Initializing a Structure
Arrays of Structures
Focus on Software Engineering: Nested Structures
Structures as Function Arguments
Returning a Structure from a Function
Pointers to Structures
Focus on Software Engineering: When to Use., When to Use ->, and When to Use
Unions
Enumerated Data Types
Advanced File Operations
File Operations
File Output Formatting
Passing File Stream Objects to Functions
More Detailed Error Testing
Member Functions for Reading and Writing Files
Focus on Software Engineering: Working with Multiple Files
Binary Files
Creating Records with Structures
Random-Access Files
Opening a File for Both Input and Output
Introduction to Classes
Procedural and Object-Oriented Programming
Introduction to Classes
Defining an Instance of a Class
Why Have Private Members?
Focus on Software Engineering: Separating Class Specification from Implementation
Inline Member Functions
Constructors
Passing Arguments to Cosntructors
Destructors
Overloading Constructors
Private Member Functions
Arrays of Objects
Focus on Problem Solving and Program Design: An OOP Case Study
Focus on Object-Oriented Programming: Creating an Abstract Array Data Type
Focus on Object-Oriented Design: The Unified Modeling Language (UML)
Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities
More About Classes
Instance and Static Members
Friends of Classes
Memberwise Assignment
Copy Constructors
Operator Overloading
Object Conversion
Aggregation
Focus on Object-Oriented Design: Class Collaborations
Inheritance, Polymorphism, and Virtual Functions
What Is Inheritance?
Protected Members and Class Access
Constructors and Destructors in Base and Derived Classes
Redefining Base Class Functions
Class Hierarchies
Polymorphism and Virtual Member Functions
Abstract Base Classes and Pure Virtual Functions
Multiple Inheritance
Exceptions, Templates, and the Standard Template Library (STL)
Exceptions
Function Templates
Focus on Software Engineering: Where to Start When Defining Templates
Class Templates
Introduction to the Standard Template Library (STL)
Linked Lists
Introduction to the Linked List ADT
Linked List Operations
A Linked List Template
Variations of the Linked List
The STL list Container
Stacks and Queues
Introduction to the Stack ADT
Dynamic Stacks
The STL stack Container
Introduction to the Queue ADT
Dynamic Queues
The STL deque and queue Containers
Recursion
Introduction to Recursion
Solving Problems with Recursion
Focus on Problem Solving and Program Design: The Recursive gcd Function
Focus on Problem Solving and Program Design: Solving Recursively Defined Problems
Focus on Problem Solving and Program Design: Recursive Linked List Operations
Focus on Problem Solving and Program Design: A Recursive Binary Search Function
The Towers of Hanoi
Focus on Problem Solving and Program Design: The QuickSort Algorithm
Exhaustive Algorithms
Focus on Software Engineering: Recursion vs. Iteration
Binary Trees
Definition and Applications of Binary Trees
Binary Search Tree Operations
Template Considerations for Binary Search Trees
The ASCII character Set
Operator Precedence and Associativity
Index