Features
- Cover Type: Paperback with 608 pages
- Published by: Microsoft Press April 23, 2003
- Written in: English
- ISBN 10 Number: 0735619077
- ISBN 13 Number: 978-0735619074
-
Book Dimensions:
9 x 7.3 x 2.7 inches
- Weighs: 5.1 pounds
Reader ReviewsFirst off...the reviewer who criticized the editor for having the wrong book is the one who is wrong:this is C++, not C#. So that reviewer's dismissal should be dismissed. Second, as the editor pointed out, some reviews were for the wrong edition: they too should be dismissed. However... I do not recommend this book for beginners. A lot of its "teaching" is done by cookie-cutter programming: find this line of code in the program...don't worry about what it actually means...now type these things under it...now compile. The reader gets working programs without fully understanding what x, y, and z mean. And the authors don't know how to teach step-by-step, despite the book's title. It's as if they can't decide what their target audience is. Are they writing a step-by-step book (as the title implies) that gradually walks beginners through from beginning to end, holding their hands and easing them along? Sometimes. Or are they writing a book for people who already know C++ and just need to learn how to apply it to .NET? Sometimes. The worst part is that while it is possible to do both in one book, I don't feel the authors managed to do either. Beginners will be confused by the disorganized introduction of material (pointers and classes in chapter 2) and lack of explanations, while already-proficient-in-C++ programmers won't learn enough new stuff to make the book worthwhile (unless they are new to programming .NET with C++: then the later chapters will give them new stuff). Here are some details, looked at from a newbie's perspective. ********************************* "... (the endl stream manipulation operator inserts a new-line character in the stream.)" (p5) ********************************* What the heck is a `stream', an `operator', and a `new-line', and what in the world does it mean for an operator to manipulate a stream? A newbie could be confused already...only 4 pages into the book. ******************************** "How does the compiler know which function should be called first? ... The rule is that the compiler will always generate code that looks for a function named main. If you omit the main function, the compiler reports an error and doesn't create a finished executable program." (p6) ******************************** That alone is not a problem. The problem arises when the rest of the book violates the rule just provided, without explaining why! Only the first program in the book - the trivial "Hello World!" program -- uses Standard C++ (iostream, cout, etc.). The second and subsequent programs don't include a main() function! The book has the reader "blindly" begin typing the second program on page 20, and that program contains several non-Standard C++ entries and omits several of the most common Standard C++ elements. (1) The program does not have a main() function but does have a _tmain(). What exactly is a _tmain() function anyway? The book doesn't say. (2) The program does not have the typical #include <iostream