ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
C++ Effective Object-Oriented Software Construction 2ed
Kayshav Dattatri
0 13 086769 1
Prentice Hall
Tim Penhey
object oriented
Appeared in:
I am very much in two minds about this book. The Preface states that the book is aimed at being an introductory or advanced text on object-oriented programming and can be used for a graduate course on OOP and C++ topics.

This book is very good at introducing object-oriented principles and how they are implemented in C++. The book eases the reader through data abstraction, inheritance, generic types and exceptions. In each case easy to understand examples are used to highlight points brought up by the text. For most of the object-oriented topics that are covered, there are also brief notes on how they are handled in Smalltalk and Eiffel.

Dattatri had previously worked for Taligent and that is easy to see through the coding standards used throughout the book. As long as you can look past the class prefix 'T', enumerated type prefixes and member variables starting with '_' the examples are very good ('Names starting with an underscore are reserved for special facilities in the implementation and the run-time environment, so such names should not be used in application programs.' C++ Programming Language, 3rd Ed, Stroustrup, 4.9.3 Names).

As with most classroom examples, strings, dates and containers make appearances in the book. This leads me on to my only negative comment and that is that the standard library only gets a brief mention on page 685 in reference to the STL containers, iterators and algorithms. The standard strings make a one-line appearance in the Appendix covering namespaces and the standard exceptions are not covered at all.

Having said that though, the book is very good at getting across the underlying substance of object-oriented programming. It does cover issues such as multiple inheritance and the issues that come along with it, private inheritance and idioms such as handle-body.

I would recommend this book highly for its coverage of object-oriented software development and recommend with reservations its coverage of C++, but those reservations are based mainly on the lack of reference to the standard library.