Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
50 used & new from $23.98

Have one to sell? Sell yours here
 
   
Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition) (Vol 1)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition) (Vol 1) (Paperback)

by Bruce Eckel (Author)
4.4 out of 5 stars See all reviews (79 customer reviews)

List Price: $60.00
Price: $60.00 & this item ships for FREE with Super Saver Shipping. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Monday, July 20? Choose One-Day Shipping at checkout. Details
26 new from $32.98 24 used from $23.98

Frequently Bought Together

Customers buy this book with Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) (Addison-Wesley Professional Computing Series) by Scott Meyers

Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition) (Vol 1) + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) (Addison-Wesley Professional Computing Series)
Price For Both: $102.70

Show availability and shipping details


Customers Who Bought This Item Also Bought

Thinking in Java (4th Edition)

Thinking in Java (4th Edition)

by Bruce Eckel
4.2 out of 5 stars (300)  $44.09
Accelerated C++: Practical Programming by Example (C++ In-Depth Series)

Accelerated C++: Practical Programming by Example (C++ In-Depth Series)

by Andrew Koenig
4.6 out of 5 stars (84)  $38.99
The C++ Programming Language: Special Edition (3rd Edition)

The C++ Programming Language: Special Edition (3rd Edition)

by Bjarne Stroustrup
4.2 out of 5 stars (284)  $67.99
Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)

Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)

by Erich Gamma
4.5 out of 5 stars (261)  $48.40
The C++ Standard Library: A Tutorial and Reference

The C++ Standard Library: A Tutorial and Reference

by Nicolai M. Josuttis
4.8 out of 5 stars (98)  $59.99
Explore similar items

Editorial Reviews

Amazon.com Review
Fully revised and beefed up with plenty of new material on today's Standard C++, the new edition of Bruce Eckel's Thinking in C++: Volume I is an excellent tutorial to mastering this rich (and sometimes daunting) programming language, filled with expert advice and written in a patient, knowledgeable style.

The effective presentation, along with dozens of helpful code examples, make this book a standout. The text first sets the stage for using C++ with a tour of what object-oriented programming is all about, as well as the software design life cycle. The author then delves into every aspect of C++, from basic keywords and programming principles to more advanced topics, like function and operator overloading, virtual inheritance, exception handling, namespaces, and templates. C++ is a complex language, and the author covers a lot of ground using today's Standard C++, but without getting bogged down in excessive detail.

The emphasis here is on practical programming, so there's basic advice on using header files, preprocessor directives, and namespaces to organize code effectively. Each chapter ends with exercises (usually about two dozen), and the entire text of the book is available on the accompanying CD-ROM. (So is the second volume, which tours Standard C++ classes and other advanced topics.)

Whether you have read the first edition of this book or not, there is much to mine from Thinking in C++. This new version continues to set a high standard as an approachable and thorough tutorial. --Richard Dragan

Topics covered: Introduction to objects, inheritance, composition, polymorphism, exception handling, analysis and design fundamentals, advantages of C++, transitioning from C, compiling and building programs, writing C++ functions, flow control, C++ operators, data types, casting, debugging tips, pointers to functions, designing reusable C++ classes, conditional compilation and header files, access specifiers, constructors and destructors, function overloading and default arguments, using const and static effectively, inlining, namespaces, references, copy constructors, operator overloading, using new and delete for dynamic objects, virtual functions, abstract classes, introduction to templates, and iterators.

Review




"This book is a tremendous achievement. You owe it to yourself to have a copy on your shelf. The chapter on iostreams is the most comprehensive and understandable treatment of that subject I've seen to date." — Al Stevens Contributing Editor, Doctor Dobbs Journal




"Eckel's book is the only one to so clearly explain how to rethink program construction for object orientation. That the book is also an excellent tutorial on the ins and outs of C++ is an added bonus." — Andrew Binstock, Editor, Unix Review




"Bruce continues to amaze me with his insight into C++, and Thinking in C++ is his best collection of ideas yet. If you want clear answers to difficult questions about C++, buy this outstanding book." — Gary Entsminger Author, The Tao of Objects




"Thinking in C++ patiently and methodically explores the issues of when and how to use inlines, references, operator overloading, inheritance and dynamic objects, as well as advanced topics such as the proper use of templates, exceptions and multiple inheritance. The entire effort is woven in a fabric that includes Eckel's own philosophy of object and program design. A must for every C++ developer's bookshelf, Thinking in C++ is the one C++ book you must have if you're doing serious development with C++." — Richard Male Shaw Contributing Editor, PC Magazine



See all Editorial Reviews

Product Details

  • Paperback: 814 pages
  • Publisher: Prentice Hall; 2 edition (March 25, 2000)
  • Language: English
  • ISBN-10: 0139798099
  • ISBN-13: 978-0139798092
  • Product Dimensions: 9.1 x 7 x 1.3 inches
  • Shipping Weight: 2.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars See all reviews (79 customer reviews)
  • Amazon.com Sales Rank: #72,689 in Books (See Bestsellers in Books)

    Popular in these categories: (What's this?)

    #17 in  Books > Computers & Internet > Programming > C > Tutorials
    #51 in  Books > Computers & Internet > Microsoft > Development > C & C++ Windows Programming

Look Inside This Book

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(6)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

79 Reviews
5 star:
 (53)
4 star:
 (14)
3 star:
 (5)
2 star:
 (5)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
4.4 out of 5 stars (79 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
74 of 74 people found the following review helpful:
5.0 out of 5 stars My C++ Learning Experience, February 26, 2005
Since I'm reviewing both "Accelerated C++" as well as "Thinking in C++", I thought I'd post the review on both book links.

There have already been excellent reviews of this book, but I would think the main reason people purchase these books is because they have an explicit purpose, which is to learn Standard C++. That being said, C++ is one of the most powerful and multi-faceted languages around, and no other language provides both high level abstractions and low level control in one programming language as C++.

Because of these features, it is often opinied that C++ is too complicated, large and takes too long to master. While there are some merits to this criticism, many important real world systems are being bult with C++ and professional developers need to master the fundamentals of C++ now. With that in mind, and after spending (or wasting) much money on various books proclaiming to teach C++ from the ground up, it was not until reading Konig and Moo's "Accelerated C++" and Eckel's "Thinking in C++" and in that order, that I finally "got it".

Why I emphasize "in that order" in the last paragraph, is due to the methodologies used to teach C++ by ACPP and TICPP, and due to this, its best to read ACPP first, then TICPP for the most effective learning. Here's my reasons:

ACPP teaches C++ in a top down fashion. What I mean by this, is that the higher level Standard Libraries are integrated right from the start to teach programming contructs such as looping, selection and decisions making using library facilities such as <vector>, <list>, and <map>. The Standard <string> is utilized from chapter zero, and relieves much of the burden of C strings and all the low level details one would have to know to use them properly. This can be especially burdensome to the beginner.

As important as the container classes are to the Standard library, are the algorithms used with them. ACPP ulitizes these as well, and from chapters 0 to 7, the student is taught to use the common algorthms such as sort(), copy(), find() and accumulate(). By teaching these features right from the beginning, the reader is able to write some non-trivial programs without having to wade through the typical and troublesome C features typically taught in other books. Thus, by the time the Reader reaches the second half of the book (chapters 8-16), s/he is ready to understand how to build their own user defined types, and other important topics such as pointers, memory management, classes, as well as object oriented and generic programming.

In contrast, TICPP teaches C++ from a more traditional bottom up approach. Throughout the book, the assumption is that the Reader is comming to C++ from a C background. For example, throughout the book starting from chapter 4, Eckel demonstrates a Stash and Stack application, developed first as a "better C", then throughout the book adds features to them such as grouping data structures with the functions that act on them in the form of classes. The concepts of constructors and destructors, function overloading and default arguments, using const and static effectively, inlining, namespaces, references, copy constructors, operator overloading, using new and delete for dynamic objects, etc. are all covered.

In my opinion, the last two chapters where virtual functions, abstract classes, and an introduction to templates and iterators are covered, is where the book really shines, as these chapters allow the book to finally culminate the benefits of true object oriented programming and give a solid introduction to generic programming in the form of templates and iterators. By this point, the Stash and Stack examples are utilizing pure virtual functions and iterating through containers in an STL-like fashion that is similar to the ones in the Standard Library.

The current trend in C++ is to favor the abstractions provided by the Standard Libraries when developing professional software, and ACPP exemplifies this attitude throughout the book. The lower level C-like aspects of C++ can and have caused much trouble in the form of memory leaks, buffer overruns, etc. Nevertheless, certain class of applications require the ability to get close to the metal, and C++ allows this ability without restrictions when necessary. Also, there are many (and some could argue that most C++ based systems out there still adhere to this) legacy systems where C++ is still being used as a "better C". TICPP is the book that will teach one how to make these programs more type safe, as well as migrating it to take advantage of more modern C++ idioms. And in Volume 2 of TICPP which just came out, Eckel and Allison cover the Standard Library in depth, as well as other professional methodologies such as RTTI, Multiple Inheritence, Design Patterns and Concurrent programming.

But by careful and methodical study of both books, and as is recommended by me, reading ACPP first then TICPP, one will learn C++ from the highest layer to the lower, then from the lower back up the higher and obtain a through knowledge of the basics of C++. One can then effectively study the more advanced books, such as by Meyers, Sutter, Stroupstrup, etc. and have the confidence to tackle professional C++ projects.

Postscript - Though I advocate the above learning method for C++, I would like to add that the above two books presume a certain programming maturity, though one does not need to be a guru. A person with the experience typical of first year CS1 (and CS2) in a language like Java or Python (in fact, for a complete novice, I would recommend learning Python first) would be most suited to following the above presciption. Also recommened is to study a book about data stuctures and algorithms, which will provide the Reader with a solid understanding of the mechanisims that underly the STL (meaning the Standard Template Library which encompass the Containers, Iterators and Algorithms of the Standard C++ Library which was originally part of SGI's implementation).

-Don Kim
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
89 of 92 people found the following review helpful:
5.0 out of 5 stars Best book I've read on C++, March 21, 2000
By A Customer
This book is highly recommended! I've been trying for a while to teach myself C++ and object-oriented programming. I have a strong background in both C and COBOL so structured programming is firmly etched in my brain and has proved to be a difficult programming approach to get past. This was the first book on the subject that caused me to go "Ah! Now I get it!" more than once. The first chapter alone was worth the price of the book as it thoroughly explained OOP in a clear and concise manner. I read this book in its entirety online before it was published. The book was so good that I went ahead and purchased it so that I would have a hardcopy of this invaluable text as well as the online version. If you are an adept programmer looking to jump onto the OOP bandwagon, I can't think of a better book to get you there. Forget the "Dummies" and "21 Days" type books and get this one. You'll be glad you did. No other programming book I've read has advanced my skills as far as this one. Many thanks to Bruce for providing the definitive C++ book.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
39 of 39 people found the following review helpful:
5.0 out of 5 stars Great self-teaching text on C++ - Highly recommend!, June 9, 2000
By A Customer
If you have some programming experience (in any language) and would like to learn C++ then this is the book! I had some procedural programming experience in Fortran, Pascal and C. I now wanted to learn OOP with C++. This book exceeded my expectations! I highly recommend this book to any novice, advance, and expert programmers wishing to learn C++!

If you are new to programming (ie you never wrote a computer program) and would like to make C++ your first language then this book may be too advanced for you. Try "Object-Oriented Programming in C++" by Lafore. Lafore starts from ground zero in his book. Bruce Eckel assumes the reader of his book has some programming experience. Not a lot but some ...:)

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars great book and nice presentation
The book really speaks clearly and mostly gets to the point in a way of simplicity.
It also requires a little bit of previous experience of c++, c,or Java. Read more
Published 1 month ago by iostream

4.0 out of 5 stars Why talk about C?
C and C++ often have different rules, and Eckel pays attention to both. The problem is, I don't care for C, so to me, discussion of C is a waste and a distraction. Read more
Published 5 months ago by Dimitri Shvorob

3.0 out of 5 stars Don't know yet
i just completed taking five C++for certification. I haven't really engaged, reading the book or using it. Read more
Published 8 months ago by M. Moses

5.0 out of 5 stars An awesome book- The reference in C++
Just like Thinking in Java, this book is the reference and comes highly recommended.
Unlike some C++ books, this book is comprehensive and very easy to read. Read more
Published 9 months ago by C. Hivert

4.0 out of 5 stars Great way to improve your programming skills
Thinking in C++ is quite different from other C++ books. It's for experienced programmers and contains a lot of useful and advanced topics. Read more
Published 10 months ago by Nene

4.0 out of 5 stars Detailed introduction to C++ for C programmers
Observations:
- aimed at C programmers
- gradual introduction to C++

Constructive criticism:
- lacking diagrams and elegance
- detailed... Read more
Published 12 months ago by M. Mian

4.0 out of 5 stars Thinking in C++, Volume 1: Introduction to Standard C++ (2nd Edition)
Bruce Eckel's book very thoroughly covers the Standard C++ programming language. It may be a little dated (my copy says (C) 2000), but I don't think the Standard has evolved since... Read more
Published 22 months ago by H. Frick

5.0 out of 5 stars A must have ...
this is a must have for all people that need to learn c++
even if you are novice or experience developer this is a book that you will always open and consult.
Published on June 11, 2007 by S. LAMBROU

5.0 out of 5 stars An all-around great C++ book
This book was a pleasure to read. It does a very good job of teaching you the C++ syntax in the context of the C++ paradigm; a great improvement over many similar introductory... Read more
Published on March 3, 2007 by ragnarok416

5.0 out of 5 stars Start learning C++ here
If you're looking to learn C++ as your first language, or your first OO language, good luck to you! I tried learning C++ after FORTRAN77, and in retrospect, that was a big... Read more
Published on February 19, 2007 by Thing with a hook

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)


So You'd Like to...


Look for Similar Items by Category


Up to 50% Off Hot Brands in Skin Care

Skin Care Sale
Get favorite name brands in skin care for face, body, and sun care, now up to 50% off at the skin care sale, only from Amazon Beauty.

Shop all skin care

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Save up to 30% on New Textbooks

Amazon Textbooks
Save up to 30% on over 100,000 new textbooks shipped and sold by Amazon.com--and up to 90% off the list price of millions of used listings--in Amazon.com's Textbook Store.
 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates