REVIEW - Object-Oriented Software in ANSI C++


Object-Oriented Software in ANSI C++


Michael A. Smith



McGraw-Hill College (1999)




Yechiel M. Kimchi


June 2000



The name of the game in this book is confusion. The title mentions ANSI-C++ and I have decided to believe the author's claim that he had compiled his examples with Borland C++ Builder. I shall leave open the question of why he was using

instead of

Here are some additional confusing examples

  • Target readers. The back cover claims 'Assumes no previous knowledge of programming.' while the preface states 'This book is aimed at programmers who wish ...'
  • Teaching style and coding. The first chapter that introduces C++ has the following lines of code (p. 40)
    std::cin>>std::resetiosflags( std::ios::skipws );  while(std::cin>>ch, !std::cin.eof()){    std::cout<
  1. The smallest problem here is the fact that operator! had not even been introduced.
  2. std::cin
    is used all over the book. Nowhere could I find the directive using
    namespace std;
    not even in the chapter dealing with namespaces.
  3. The usage of
    is not a bug here, only because
    is of type
    . I easily found a similar piece of code which was buggy (p. 402)
    int num;  while(cin>>num, !cin.eof()) {      // whatever  }
    1. This causes an infinite loop if the input is not an integer.
    2. Why not
      ? Because here,
      is a local variable!
    3. The type of
      , a type designated by the standard as depreciated.
Confused? So is the author of this book. However, while the author is able to write simple programs that will compile and may correctly run on some (definitely not all) input, the confused reader will hardly be able to acquire even this low-level skill. Not Recommended.

More examples of errors can be found on my page

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.