Home Page -------------------
[Home Page] - [Reviews Main]
-------------------

Book Review
Teach Yourself Object-Oriented Programming with Turbo C++ in 21 Days by Greg Perry
Recommended
ISBN: 0-672-30307-8       Publisher: Sams       Pages: 776 pp disk from USA       Price: £?
Categories:   object oriented     borland    
Reviewed by M N Summerfield in Overload OL4 (Feb 1994)
The title sums up the objectives of this book. It is aimed at beginner programmers, and those converting from C. Only a basic knowledge of C is required. The examples are all DOS-based and written in Turbo C++/Borland C++. With the exceptions of the clear-screen command, the chapter on Borland's container classes, and the short appendix on graphics, the bulk of the book should be usable with any C++ compiler that supports templates. Turbo C++ (as I will refer to it), is aimed at complete novices to C++ and will not be of interest to those who are past this stage.

Naturally enough the 21 day learning period is broken down into three week- long sections, these in turn being broken down into days. Each week is followed by a review which comprises an example program that highlights the points covered so far and some explanatory text.

In the first week Perry looks at C++ in relation to C, showing why C++ is so much better even without classes. In this week he covers the use of inline and const to replace #define macros and constants. He introduces cout and cin, and distinguishes between cout and cerr. In this week he also covers pointers, references, const, new and delete, as well as function overloading.

The second week is where classes are introduced. Topics covered include access specifiers, member functions, and friends. The explanations of how to overload the built-in operators including << and >>, and on constructing and destructing objects are crystal clear. If you have any doubts about the use and implementation of constructors, object assignment operations, and copy constructors, you will find excellent explanations in the "Day 13" chapter. Chapter 14 gives good coverage of static, and a rather short and weak introduction to multi-file projects.

Inheritance is covered at the beginning of the final week, the author only explaining single inheritance fully, although he does give some explanation of multiple inheritance, and why he considers single inheritance to be enough for one's programming needs. Perry gives a clear exposition on when to use inheritance and when to use composition. Virtual functions are explained in the middle of the final week. The three weeks proper wind up with chapters on templates, on using Borland's container classes and on file I/O.

Turbo C++ makes a lot of effort to be "user-friendly", with an informal writing style and a gentle pace. This is backed up by key points being highlighted and simple exercises which are almost all answered in an appendix. The book is very encouraging, and because the exercises are so easy readers will quickly gain and maintain confidence through coding them and running them.

Perry has explained almost everything which he covers exceedingly well. However, the price of this is that sometimes he skimps on good practice in his examples, for example, after introducing const he avoids using it to save parameter lists becoming too long and confusing: surely a good reason for explaining typedef which is not covered at all. Similarly, although a warning about comparing floating point numbers is given, and a suggested solution is provided, such a comparison is done in one of the programs given as an answer to an exercise. He also uses un-escaped single quotes in strings, and outputs newlines with "\n" instead of endl.

The weakest sections in the book are those covering multi-file projects, templates, and file I/O. Even for beginners, I feel that these sections should be doubled in length to give an adequate level of explanation. The cover boasts "close to 200 complete programs", but these are almost all "toys", example programs included for their utility as educational examples, rather than of use in programming practice. The index is adequate although unfortunately the listings are listed in the main index under "listings" and shown in order of appearance instead of alphabetically. There are very few typographical errors in the text, although there are a few in the listings which look like cut and paste errors, and several diagrams have textual errors. Perry tells us that after reading this book, "you'll probably never write another C program": thanks to the quality of this book and the advantages of C++ over C, I agree with him wholeheartedly. The subjects covered are broken into manageable chunks, and are almost all very well explained.

All the exercises are straightforward and it is quite feasible to complete the book in the 21 day period. One might imagine that a book like this would be read once and then left on the shelf, but in fact because of the clarity of explanation, I think that most beginner C++ programmers would find it a useful reference in their early C++ days.

Overall, Teach Yourself Object-Oriented Programming with Turbo C++ in 21 Days, is thoroughly recommended to complete newcomers to C++, especially those who own a copy of the Turbo C++ or Borland C++ compiler.


Other Authors with the same surname

Perry
Absolute Beginner's Guide to C (2nd ed) by Greg Perry  (Reviewed Nov 1994)
Absolute Beginners Guide to C by Greg Perry  (Reviewed May 1994)
An Introduction to Object-Oriented Design in C++ by Levin & Perry [Not Recommended]  (Reviewed Mar 1997)
C By Example (Academic edition) by Greg Perry  (Reviewed Jan 1995)
C By Example by Greg Perry [Not Recommended]  (Reviewed Sep 2000)
C++ Programming 101 by Greg Perry  (Reviewed Nov 1993)
Crash Course in C (2nd ed) by Paul Perry & Stephen Potts  (Reviewed Jan 1997)
Effective Methods for Software Testing 2ed by William Perry  (Reviewed Jul 2000)
Moving from QBasic to C by Greg Perry [Not Recommended]  (Reviewed Nov 1994)
Teach Yourself Object-Oriented Programming with Visual C++ 1.5 in 21 Days by Greg Perry  (Reviewed Mar 1995)
Turbo C++ By Example by Johnson & Perry  (Reviewed Jan 1994)
Turbo C++ Programming 101 by Greg Perry  (Reviewed Nov 1993)
Turbo C++ by Example by M Johnson & Greg Perry  (Reviewed May 1993)
Turbo C++ for Windows (Programming for Beginners) by Paul Perry  (Reviewed Sep 1993)
Using Borland C++ 4 Updated by Paul Perry  (Reviewed May 1994)
Using Borland C++ 4.5 (Special Edition) by P Perry [Not Recommended]  (Reviewed Jul 1995)
Using Visual C++ 2 by P Perry  (Reviewed Jul 1995)
Visual C++ 1.5 By Example by Perry & Ross [Not Recommended]  (Reviewed Sep 1994)
Visual C++ Starter Kit by Greg Perry & Ian Spencer  (Reviewed May 1997)
Visual C++ in 12 Easy Lessons (based on VC++ 1.0) by Greg Perry & Ian Spencer [Not Recommended]  (Reviewed Mar 1997)
World Wide Web Secrets by Paul Perry  (Reviewed Jan 1996)
Year 2000 Software Testing by William Perry  (Reviewed Jan 1999)
Your Borland C++ Consultant by Paul Perry [Not Recommended]  (Reviewed Jan 1994)


Last Update - 13 May 2001.

To link to this review, please use the URL: http://www.accu.org/bookreviews/public/reviews/t/t001214.htm

Copyright © The Association of C & C++ Users 1998-2000. All rights reserved.

Mirrored from http://www.accu.org/