Inside the Object Model:
The Sensible Use of C++
by David M. Papurt
SIGS Books, 1995
You can purchase this book at fine bookstores or from the publisher.
the source code examples from Inside the Object Model.
This review of Inside the Object
Model by Peter G. Aitken originally appeared in PC TECHNIQUES Magazine,
Copyright (c) 1995 by The Coriolis Group, Inc.
Reprinted by permission.
If you're learning C++ and can buy only two books to help you along, this should be one of them. (A good candidate for the other is Stephen Prata's book, also reviewed here.) The author takes the eminently sensible approach of teaching you the foundations beneath what you are trying to do before teaching you how to do it. As an analogy, imagine trying to train a surgeon without first teaching him the inner workings of the human body! But this is just what most C++ books try to do. They may pay a little lip service to "object- oriented principles" but 99 percent of their pages are devoted to teaching you how to write a legal C++ program (that is, one that compiles and runs without errors). Precious little effort is ever expended teaching you to write a sensible C++ program.
The foundation beneath C++ programming is the object model. The object model transcends computer programming, and in fact has its origins in the field of cognitive science. For lack of a better description, I'll quote from the book to describe cognitive science as "combining psychology, artificial intelligence, linguistics, anthropology, and neuroscience ... to understand the nature of mind, knowledge, and reasoning." Sounds pretty heavy, but it's really just "scientist-speak" for saying that the object model describes the way people think about things. An object- oriented language, therefore, is one that permits us to have the same (or similar) relationships between objects and processes in our programs as we do in our thought processes.
The author tries to work from principles to specifics. Elements of the object model are explained, then the syntactical components of C++ that implement those elements are introduced. Don't think the book is mostly theory - you get a thorough grounding in C++, too. The writing is, for the most part, clear and concise, and illustrations are used to good effect. If you want a little theory behind your hacking, this book's for you.