Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $91.00
  • Save: $41.64 (46%)
Only 16 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Thinking in C++: Introduc... has been added to your Cart
Condition: Used: Good
Comment: Ships direct from Amazon! Qualifies for Prime Shipping and FREE standard shipping for orders over $25. Overnight and 2 day shipping available!
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

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

ISBN-13: 860-1300092737 ISBN-10: 0139798099 Edition: 2nd

Buy New
Price: $49.36
31 New from $34.58 41 Used from $7.00 1 Collectible from $79.10
Amazon Price New from Used from
"Please retry"
$34.58 $7.00
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Best Books of the Year
See the Best Books of 2014
Looking for something great to read? Browse our editors' picks for 2014's Best Books of the Year in fiction, nonfiction, mysteries, children's books, and much more.

Frequently Bought Together

Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition) (Vol 1) + Thinking in C++, Volume 2: Practical Programming + Accelerated C++: Practical Programming by Example
Price for all three: $134.88

Buy the selected items together

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 814 pages
  • Publisher: Prentice Hall; 2 edition (March 25, 2000)
  • Language: English
  • ISBN-10: 0139798099
  • ISBN-13: 978-0139798092
  • Product Dimensions: 7 x 1.6 x 9 inches
  • Shipping Weight: 2.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (102 customer reviews)
  • Amazon Best Sellers Rank: #193,868 in Books (See Top 100 in Books)

Editorial Reviews 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.


"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

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Unless you are one of the top experts in the language, reading this book will teach you something new.
Charles Ashbacher
Intially I liked the book very much, it seemed to have a fresh approach and style, was easy to read, and seemed trustworthy as far as the content was concerned.
S. R. Moody
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.
Don Kim

Most Helpful Customer Reviews

150 of 152 people found the following review helpful By Don Kim on February 26, 2005
Format: Paperback
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.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
93 of 96 people found the following review helpful By A Customer on March 21, 2000
Format: Paperback
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 Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
44 of 46 people found the following review helpful By A Customer on June 9, 2000
Format: Paperback
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 Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
34 of 36 people found the following review helpful By Robert Gamble on September 21, 2000
Format: Paperback
I'm a Computer Science minor who mainly programmed in Pascal but had an object oriented background to some extent by programming on MUSHes (text based role playing games where anyone can create objects, and place code on them). Obviously the syntax was quite different, but some of the 'systems' coded on these games are quite complex, so I was at least somewhat prepared to learn the concepts of OOP.
After picking up a basic primer on C++ (Waite's C++ Primer Plus) and working through it, I discovered that while I'd learned the syntax, my understanding on how C++ operated on an object oriented level was still somewhat weak (which isn't to say that I didn't like the book, in fact I gave it 5 stars as a primer). This isn't that surprising for me, the normal way I learn is to get the details, do the work and at some point in the future _something_ will trigger a 'aha!' in me and understanding will come.
In Eckel's first descriptions of C++ as an Object Oriented language, that light came on. In particular, when he described how inheritance could be used to replace a switch statement. It was clearly stated and proved to be the norm throughout the book. Now I combine the two books, using Waite's for a first look at a concept, and following it up with Eckel for the 'understanding'.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
20 of 21 people found the following review helpful By "maged" on June 22, 2000
Format: Paperback
It's hard to find a book that teaches you how to program or how to use your logic to write programss. this book describes the problem of programming in C++ in a complete different way than other c++ books. It doesn't list the keywords and the syntax of the language but rather introduce you to problems that any programmer using any language might face, and then give you the answer in C++. It was nice that you can write a C++ program just in the second chapter while understanding completely the meaning and the usage of keywords like "#include" and namespaces which you'll usually find in the last chapters of ordinary c++ books. so you'll get the feeling of how, why and where to use any part of c++ language not just knowing how to use it. Thanks to Bruce Eckel for providing the book completely online in his web site. that shows that he really cares to make people understand c++ programming not just making money out of publishing a book. I'll be more generous than him by buying the hardcopy of the book :-)
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

What Other Items Do Customers Buy After Viewing This Item?