Have one to sell? Sell yours here
The C++ Programmer's Notebook: An Illustrated Quick Reference
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

The C++ Programmer's Notebook: An Illustrated Quick Reference [Paperback]

Jim Keogh (Author), James Keogh (Author)
3.3 out of 5 stars  See all reviews (9 customer reviews)


Available from these sellers.


There is a newer edition of this item:
C++ Programmer's Notebook (2nd Edition) C++ Programmer's Notebook (2nd Edition) 4.0 out of 5 stars (7)
Out of Print--Limited Availability

Book Description

October 1997
52594-9 "Show me the code!" The easy, visual approach to C++. Finally, there's a book that presents C++ the way you want to learn it --from real, working code! C++ Programmer's Notebook is so visual, so sensible, so convenient, you'll wonder why nobody thought of it before. See for yourself! *The code comes first! Start by looking at proven code samples you can just copy and run! *Everything's highlighted in boldface type, so you instantly see the basic C++ syntax, and what you have to add to it. *All the rules are neatly summarized in a convenient table! And if you want to know more, it's right there for you on the adjacent left-hand page. C++ Programmer's Notebook isn't just convenient: it's comprehensive. And it's carefully, logically organized to build your expertise one step at a time.It covers all the C++ concepts you need to know, including: *Variables *Arrays *Overloading *Files and Streams *Operators *Strings *Inheritance *Memory Management *Expressions *Program Control *Pointers *Storing/Searching for Data *Structures *Objects *Virtual Functions *Data Structures *Functions *Classes *I/O *Templates There's even a programmer's checklist for writing efficient, reliable code. It's a complete course in C++ without the pain! Whether you're a professional programmer learning C++, a C++ programmer needing a quick reference, or a student, this is the C++ book you'll use every day!

Editorial Reviews

From the Inside Flap

Preface

Software developers strive to build complex computer applications quickly, accurately, and at a reasonable expense. The methodology that is used by many developers is modular programming. This is a technique where the developer divides the application into logical components, each of which can be built independently and reused in other applications.

These modules are referred to as subroutines, procedures, or functions, depending on which computer language is used. In the C++ programming language as well as in C, these modules are called functions. Regardless of the name, however, modules are limited. The modular programming approach to software design, at times, makes modeling into computer code a real life problem and a difficult task. A real life problem involves real objects. For example, tracking college registration requires that a registration form be used. This registration form is an object. In fact, the form is actually composed of many objects, such as places to enter data and text that provides instructions to the applicant. A real object has both data and procedures associated with an object. For example, a single copy (called an instance) of the registration has the student's name, course information, and other data that is directly related to only that copy of the form. Also associated with the form are the steps that are required to enter data onto the form and to process that copy of the form.

Traditional modularity does not lend itself to using an object-oriented design approach when translating a real life problem into a computer application. Object-oriented design requires software developers to visualize a real life object as an object and not as a set of procedures. For example, a college registration form is a physical object that is composed of other objects, such as a place to enter data and labels that provide directions for completing the form.

The C programming language provided flexibility for developers. They could write low-level applications, such as an operating system using C. C was also a language that could be used to create a simple business application. However, C could not properly handle an object-oriented design specification of an application.

In the early 1980s at Bell Laboratories, the birthplace of the C programming language, Bjarne Stroustrup created an enhancement of C called C++. Stroustrup set out to give the C language the capability of using code to better represent a real life object. He transformed the C programming language from a procedural language into an object-oriented language. C++ is a superset of C. That is, C++ has all the capabilities as C plus more features.



A Touch of Class

A real life object has both data and procedures associated with the object. This association is represented in C++ code through the use of a class. A class defines a real life object as having a set of data (called data members) and procedures (called function members). A copy of the class is created by the software developer by using the name of the class to declare an instance of the class. The instance is given a unique name. This technique is illustrated later in this book. The instance of the class has its own copy of data and functions. Stroustrup also gave C++ the capability to share classes (called inheritance). This enables software developers to use other classes (called base classes) to build new classes (called derived classes). Return to the example of the registration form. The form is a new object that is composed of data (called an edit object) and text (called label objects). An edit object relates the data and the function members to accept, edit, and validate the data. A label object can store text used in the label and has function members that handle fonts, and other characteristics that can be used for the label. Therefore, when the software developer needs to build a form, such as the student registration form, the developer can create instances of the edit and label objects. All of the text editing capabilities (i.e., insertion and deletion of characters) are inherited.



The Picture Book Approach

C++, as any computer language, is complex and has many rules that must be obeyed. Learning those rules can be time-consuming, especially for readers who already know how to program in a language other than C++. Those readers want to jump into the language and begin writing simple code almost immediately. Many programmers who learn C++ as their second language have their own philosophy about learning the language. "Show me sample code and I'll figure out the rest," is a statement that summarizes their approach. And that's what I do in this book.

The picture book concept places the focus of the book on a picture of the code. Around this picture are callouts that describe each keyword and statement. The rules are presented in tables that are positioned near the picture. Furthermore, there is a picture for each variation of the topic that is discussed in the chapter. A reader who wants to jump into C++ can study the picture, then copy the code into a compiler and make the executable program without having to sift through pages of text. The rules can be referenced later, when the reader needs to expand this use of the routine.

This approach is not intended to circumvent a thorough presentation of the C++ language. In fact, this book presents C++ in its completion. Instead, the picture-book approach presents material in the way programmers want to learn a new computer language.



Navigating This Book

I organized this book into traditional chapters. Each chapter covers a topic of C++ in a logical progression. So, if you are not familiar with the basics of C++, then begin with the first chapter and continue through each chapter in progression. At the end of the last chapter you will have a good foundation in C++. However, these chapters can be used also for quick reference. Jump to the chapter that discusses the topic that you want to review. The topic within the chapter is presented in its entirety with a focus on examples of code.

Each chapter is further divided into two-page spreads. That is, careful attention is given to the relationship between the left and right pages. The left page contains text that describes the topic that is illustrated on the right page. The right page focuses on C++ code that contains callouts describing each facet of the code example.

The most efficient way to use a two-page spread is to first study the example on the right page. If you understand the function of each statement in the example, then you can continue and write your own program. However, if a statement or keyword is confusing, then read the callout that describes the item. Still confused? Read the text on the left page.

Careful attention is given to clarity of the code example, the right page. You will notice that the syntax of the C++ code is shown in color. Parts of the statements that are not colored are pieces that the programmer creates. For example, the statement char code; declares a character variable. char and the semicolon (;) are colored. They are part of the syntax of C++. The word code, however, is the name of a variable that can be any name that complies with the rules of C++. This style is similar to the concept used with Integrated Development Environments (IDE) such as used in Borland C++ and Microsoft Visual C++.



All code in this book can be found at the following FTP site:

/ftp/pub/ptr/professional_computer_science.w.-022/keogh/c++_notebook.

From the Back Cover

“Show me the code!” The easy, visual approach to C++.

Finally, there's a book that presents C++ the way you want to learn it --from real, working code! C++ Programmer's Notebook is so visual, so sensible, so convenient, you'll wonder why nobody thought of it before. See for yourself!

  • The code comes first! Start by looking at proven code samples you can just copy and run!
  • Everything's highlighted in boldface type, so you instantly see the basic C++ syntax, and what you have to add to it.
  • All the rules are neatly summarized in a convenient table!

And if you want to know more, it's right there for you on the adjacent left-hand page.

C++ Programmer's Notebook isn't just convenient: it's comprehensive. And it's carefully, logically organized to build your expertise one step at a time. It covers all the C++ concepts you need to know, including:

  • Variables
  • Arrays
  • Overloading
  • Files and Streams
  • Operators
  • Strings
  • Inheritance
  • Memory Management
  • Expressions
  • Program Control
  • Pointers
  • Storing/Searching for Data
  • Structures
  • Objects
  • Virtual Functions
  • Data Structures
  • Functions
  • Classes
  • I/O
  • Templates

There's even a programmer's checklist for writing efficient, reliable code.

It's a complete course in C++ without the pain! Whether you're a professional programmer learning C++, a C++ programmer needing a quick reference, or a student, this is the C++ book you'll use every day!


Product Details

  • Paperback: 480 pages
  • Publisher: Prentice Hall PTR (October 1997)
  • Language: English
  • ISBN-10: 0135259401
  • ISBN-13: 978-0135259405
  • Product Dimensions: 9.4 x 7.2 x 0.8 inches
  • Shipping Weight: 1.6 pounds
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (9 customer reviews)
  • Amazon Best Sellers Rank: #5,009,311 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

9 Reviews
5 star:
 (3)
4 star:
 (1)
3 star:
 (3)
2 star:    (0)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
3.3 out of 5 stars (9 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

1 of 1 people found the following review helpful:
1.0 out of 5 stars Not a good C++ book..., September 29, 2002
By 
This review is from: The C++ Programmer's Notebook: An Illustrated Quick Reference (Paperback)
This book is a GREAT example of really bad C++. This is not a flame or an "out of place" accusation, it is plain truth. The C++ examples in this book are very, very bad C++. They absolutely should not be used or taught to beginning C++ programmers. Buy this book to teach yourself and others what NOT to do in C++. Of course, there really IS NOT much C++ in this book. Rather, it consists mostly of C library functions and C "containers" and doesn't even once touch on the C++ standard library containers. In fact, the queue and stack used herein are NOT std::queue and std::stack (from the C++ standard library), rather, they are simple C implementations of these "containers," which have no intelligence (one of the important reasons why we use C++) to them at all.

For an example of just how bad the C++ is...

Keogh creates a "student" class that inherits from a class called "course." A student is a kind of a course? You would properly be able to use a student wherever a course was needed? This is one of the most common and blatant misuses of inheritance in any OO language, and the author exploits it to its fullest "potential" in this work. Similarly bad "logic" is used throughout the entire book. From a look at the TOC of the second edition, I can say that perhaps the author recognized some of the fatal flaws in this "work" and at least added a discussion of a copy constructor, exceptions and more "things you gotta know" if you're going to program using C++.

The author's "oversight" of anything representative of real C++ continues into chapter "Storing an Array of Objects on the Heap." As a C++ programmer, you might think that he really is talking about storing an array of Objects (not primative data types) on the heap using new and delete AND certainly NOT calloc/malloc and free! Looking further into it, we find that he is really using a standard C function call to calloc() to zerio initialize a char pointer then uses another standard C function call gets() to fill the memory at the address of the char pointer. Of course, this is just fine for C, but where is the new operator?! If you're really going to title a book using "C++," one might think that there would actually be something relevant to the way things are actually done in C++ and not just a rehashing of C. The absurd use of the mentioned chapter title suggests C++ and the contents further mislead by containing absolutely NO C++ at all! None! De Nada! In fact, the #include directives use only standard C library functions!

You wouldn't think that an example of The Bubble Sort would be found in a C++ "programmer's notebook." Perhaps a discussion of iterators and algorithms...but, like the rest of the C-specific content of this book, you'll also find a Linked List and NOT a std::list. Even though copyrighted in 1997, there is no excuse for such poor C++ coverage and the coverage that you do get is just plain wrong.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful:
3.0 out of 5 stars Poorly Edited, but Nice, March 9, 1999
By A Customer
This review is from: The C++ Programmer's Notebook: An Illustrated Quick Reference (Paperback)
First the bad news: At $34.95, this book is SERIOUSLY overpriced. There are typos, typos, typos -- editorial staff must have been lax or high on caffeine. There are a few serious factual errors that may confuse newbies (one whole section about exponential notation is especially gruesome and shameful). The diagrams are of high school art class calibre -- and it isn't actually illustrated. A second edition is needed. But, the GOOD news is that the text is relatively concise, and many sections cover the basics of complex topics -- such as pointers -- very clearly, and the author modularizes how C methods and C++ methods are employed to do the same task -- so its easy to compare the two related languages. Sections are brief and self-contained. Code samples are straightforward and don't veer off into wild tangents. If Prentice-Hall could revise the errors and the outdated info, improve the diagrammatics, add a supplementary section to address more complex aspects, and maybe decrease the blankspaces to make this more of a smaller handy manual (with margin spaces to scribble in) this book could be really useful as a support text. As it stands, its okay for gathering up loose ends after reading a main C++ text -- but the reader is always wary for errors. Given that it neither covers advanced material or provides comprehensive coverage, it should be priced cheaper.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Best C++ Reference Book, February 11, 2004
By 
Kenneth J. Roberts (Piedmont, SC United States) - See all my reviews
(REAL NAME)   
This review is from: The C++ Programmer's Notebook: An Illustrated Quick Reference (Paperback)
This is not a tutorial, but an excellent quick reference. You simply lookup the functionality that you need. The right hand page shows the functionality in short, working code. With notations by the author explaining the code and how each piece of the functions works. While the left hand page has a narrative about the callouts on the right hand side. The book is just what the title says a C++ Reference NoteBook.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews







Only search this product's reviews



Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject