- Paperback: 814 pages
- Publisher: Prentice Hall; 2nd edition (March 25, 2000)
- Language: English
- ISBN-10: 0139798099
- ISBN-13: 978-0139798092
- Product Dimensions: 7 x 1.8 x 8.9 inches
- Shipping Weight: 2.1 pounds (View shipping rates and policies)
- Average Customer Review: 108 customer reviews
- Amazon Best Sellers Rank: #584,507 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Thinking in C++, Vol. 1: Introduction to Standard C++, 2nd Edition 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
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
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The Good: Bruce does a terrific job going into gory detail on all aspects of this (let's just face it) complicated language. C++ has lot's of traps and ditches to offer compared to C# or Java, and if you plan to use a lot of the advanced concepts of the language, a helper like this book is almost indispensable. If you are coming from the C realm, this books is a real hit: Bruce constantly points out the subtle differences between C and C++, and also explains how C++ is a safer language than C in almost every facet. The book does a fairly decent job in going from the simpler to the more advanced concepts, though a few times he has to use constructs that will only be covered in later chapters (Bruce does point out these outlooks though appropriately). If you are really into learning a new language, the Exercises at the end of each chapter are a terrific way to learn the new concepts.
The Bad: The text within the chapters is not very well structured. If you later on try to find something, the prose form of the sections does not really help you doing that. Also, the Index is not that great either. Often times you are sent to pages that just marginally address the keyword, and the essential introduction or explanation of the keyword may not be in the index at all. My real gripe though is with the practicality of the examples. While I previously stated that the Examples by itself are a great way to learn the languate, a lot of his examples are just plain bad ideas how to code. I understand where Bruce is coming from, he tries to find examples for all the subtleties he just covered in the section. Nevertheless, he often asks for pretty bad things to be implemented. On principle, from my own personal experience a lot of the special cases of the language are hardly ever used in real life situations.
I do recommend this book, especially if you are coming from C. Just take the examples with a grain of salt. If you are a seasoned software developer, you can probably tell anyways which of the examples or techniques should not be used on the job.
Bruce Eckel took the courageous step of making his C++ book available on-line, but this book is so good that he still made a fortune out of it. How? First of all from the visibility it got and secondly because there are people (like me) who wouldn't trade the pleasure of holding a good book in their hands with simply staring at a screen. So, go to Bruce Eckel's site (just make a search for his name, you cannot miss it) download the book and code and decide for yourself if you are happy with the e-edition or want to buy the paper one. Either way do read it!
You will get a through expositions of C++ syntax and inner workings, with explanations of why things are the the way they are. I especially liked the discussion of how virtual functions are implemented which isn't really essential to use the language but it does give more depth to your understanding and mastery of the language. If you need an even gentler introduction I would advise to buy either the 97 edition of Herb Schildt (another C++ master) "Teach yourself C++" which you can get used for about $ 1 on amazon or Ivor Horton (the clearest and most patient teacher I have ever read from) "Beginning C++" which will give you and exhaustive tutorial even on the "c part".
A couple warnings:
1) You should have at least a basic knowledge of C before reading this book.
2) This is a book on the core part of language, not on a particular compiler or platform. So you won't find info on Borland C++ or visual C++ .NET
The only issues I have with this book are:
1) The typesetting on the book is the same you have on the html edition (quite crappy) and for book that costs more than 30 bucks this is unacceptable.
2) Solutions to selected exercises are available but "for a small fee". Come on Bruce!
Second... The book is an excellent tutorial. The ingredients of a good technical tutorial include many samples in the chapter with <homework> problems at the end for practice and reinforcement. The material must be written in a style that is easy to read, and encourages one to 'come back to the book.' Eckel's book does all of this.
Third... The book must serve as a technical reference when done studying. This is tougher to answer. For what Bruce focuses on, it is an excellent technical reference in a mid-sized book approximately the same size as Stroustrup's book. A complete technical reference with examples and sample problems on C++ would probably be a 5-volume set. Eckels book is not this, nor did it try to be.
Fourth... Many people may find lots of fault with this book because it doesn't do enough of this or of that. C++ is an object oriented language (OOL) that is part of an entire family of skills/activities/business requirements. There is systems analysis (OOA), software design & architecture (OOD), the unified modelling language (UML), the art/pain of project scheduling estimation. To weigh down a tutorial book on C++ with these other subjects would support your plan for converting that third bedroom into a C++ library.
Gripe... More then a year ago (now==15Mar01), you indicated both a volume one annotated solutions guide would be available, and volume two would be produced. Tick Tick Tick... where are they?