Thinking in C++ Introduction to Standard C++

ISBN-10: 0139798099
ISBN-13: 9780139798092
Edition: 2nd 2000
Authors: Bruce Eckel
List price: $96.80 Buy it from $14.98
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: In the first edition of Thinking in C++, Bruce Eckel synthesized years of C++ teaching and programming experience into a beautifully structured course in making the most of the language. It became an instant classic, winning the 1995 Software  More...

Used Starting from $41.85
New Starting from $67.54
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Periodic Table Online content $4.95 $1.99
Add to cart
Study Briefs
Medical Terminology Online content $4.95 $1.99
Add to cart
Study Briefs
SQL Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $96.80
Edition: 2nd
Copyright year: 2000
Publisher: Prentice Hall PTR
Publication date: 3/15/2000
Binding: Mixed Media
Pages: 814
Size: 7.00" wide x 9.25" long x 1.25" tall
Weight: 2.046
Language: English

In the first edition of Thinking in C++, Bruce Eckel synthesized years of C++ teaching and programming experience into a beautifully structured course in making the most of the language. It became an instant classic, winning the 1995 Software Development Jolt Cola Award for best book of the year. Now, Eckel has thoroughly rewritten Thinking in C++ to reflect the final ANSI/ISO C++ standard. Every page has been revisited and rethought, with many new examples and exercises -- all designed to help you understand C++ "down to the bare metal," so you can solve virtually any problem. Eckel starts with a detailed look at objects, showing how C++ programs can be constructed from off-the-shelf object libraries. This edition includes a new, chapter-length overview of the C features that are used in C++ -- plus a new CD-ROM containing an outstanding C seminar that covers all the foundations developers need before they can truly take advantage of C++. Eckel then walks through initialization and cleanup; function overloading and default arguments; constants; inline functions; name control; references and the copy constructor; operator overloading; and more. There are chapters on dynamic object creation; inheritance and composition; polymorphism and virtual functions, and templates. (Bonus coverage of string, templates, and the Standard Template Library, can be found at Eckel's web site.) Every chapter contains many modular, to-the-point examples, plus exercises based on Eckel's extensive experience teaching C++ seminars. Put simply, Eckel has made an outstanding book on C++ even better.

Preface
Introduction to Objects
The progress of abstraction
An object has an interface
The hidden implementation
Reusing the implementation
Inheritance: reusing the interface
Interchangeable objects with polymorphism
Creating and destroying objects
Exception handling: dealing with errors
Analysis and design
Extreme programming
Why C++ succeeds
Strategies for transition
Making and Using Objects
The process of language translation
Tools for separate compilation
Your first C++ program
More about iostreams
Introducing strings
Reading and writing files
Introducing vector
The C in C++
Creating functions
Controlling execution
Introduction to operators
Introduction to data types
Scoping
Specifying storage allocation
Operators and their use
Composite type creation
Debugging hints
Function addresses
Make: managing separate compilation
Data Abstraction
A tiny C-like library
What's wrong?
The basic object
What's an object?
Abstract data typing
Object details
Header file etiquette
Nested structures
Hiding the Implementation
Setting limits
C++ access control
Friends
Object layout
The class
Handle classes
Initialization and Cleanup
Guaranteed initialization with the constructor
Guaranteed cleanup with the destructor
Elimination of the definition block
Stash with constructors and destructors
Stack with constructors and destructors
Aggregate initialization
Default constructors
Function Overloading and Default Arguments
More name decoration
Overloading example
Unions
Default arguments
Choosing overloading vs. default arguments
Constants
Value substitution
Pointers
Function arguments and return values
Classes
Volatile
Inline Functions
Preprocessor pitfalls
Inline functions
Stash and Stack with inlines
Inlines and the compiler
Reducing clutter
More preprocessor features
Improved error checking
Name Control
Static elements from C
Namespaces
Static members in C++
Static initialization dependency
Alternate linkage specifications
References and the Copy-Constructor
Pointers in C++
References in C++
The copy-constructor
Pointers to members
Operator Overloading
Warning and reassurance
Syntax
Overloadable operators
Non-member operators
Overloading assignment
Automatic type conversion
Dynamic Object Creation
Object creation
Early examples redesigned
New and delete for arrays
Running out of storage
Overloading new and delete
Inheritance and Composition
Composition syntax
Inheritance syntax
The constructor initializer list
Combining composition and inheritance
Name hiding
Functions that don't automatically inherit
Choosing composition vs. inheritance
Protected
Operator overloading and inheritance
Multiple inheritance
Incremental development
Upcasting
Polymorphism and Virtual Functions
Evolution of C++ programmers
Upcasting
The problem
Virtual functions
How C++ implements late binding
Why virtual functions?
Abstract base classes and pure virtual functions
Inheritance and the VTABLE
Overloading and overriding
Virtual functions and constructors
Destructors and virtual destructors
Operator overloading
Downcasting
Introduction to Templates
Containers
Overview of templates
Template syntax
Stack and Stash as templates
Turning ownership on and off
Holding objects by value
Introducing iterators
Why iterators?
Coding Style
Programming Guidelines
Recommended Reading
C
General C++
Depth and dark corners
Analysis and design
Index

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×