Updates

Latest Tweet



What's New?

Check out for latest innovation, a computer based training video collection


Like this Page

C++ Unleashed Review by rjohnp

Specific Examples of this Book�s Failings

As a text on C++ this is inadequate, but then its title doesn't claim to be about C++ per se. It does introduce recursion, hashing and parsing, encryption, memory management, relational databases, search algorithms, COM and other interesting topics. The problem with just introducing so many topics is that each deserves far more discussion so the reader has more than surface knowledge. Scant introductions are rarely professionally useful and these often make scant use of the C++ language. Most (such as the quicksort example) could be written in C with little change.

C++ topics such as STL (Standard Template Library), namespaces, exceptions, inheritance and polymorphism, abstract classes and others are covered in the first part of the book, but again not in depth. To make matters worse, there are bad code examples and outright errors.

Example of a bad code example: Chapter 3 shows how classes can be used to implement a linked list capability. This could have been a good example, but it is badly done by defining four (!) classes to created a linked list. The four classes are an abstract Node class with derived classes InternalNode, TailNode and LinkedList. What should be a simple example makes C++ seem confusing save to someone already familiar with C++ who doesn't need this example.

Example of an outright error: Chapter 2 discusses how to map 1:1 associations between two kinds of data into C++ classes. The example assumes every person is reading one book and no two people read the same book, hence a 1:1 mapping between people and books. Ok so far. The book presents two C++ classes, Book and Person, EACH CONTAINING AN INSTANCE OF THE OTHER. Not a pointer but an actual instance. This is illegal. Just to make sure I wasn't missing something I copied the samples from the accompanying CD-ROM and tried compiling using MS Visual Studio 6. Here is my program:

#include "Book.h"

#include "Person.h"

int main() { return 0; }

The compiler of course rejected this.

Experts want in-depth coverage while beginners need good exposition. This book provides neither. I suspect those writing good reviews think they are getting substance when they are not.