Ivor Horton's Beginning C++ : The Complete Language ANSI/ISO Compliant (Wrox Beginning Series) 2nd Edition
| Ivor Horton (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
$8.67
(42)
Only 2 left in stock (more on the way).
Editorial Reviews
Amazon.com Review
Even working C++ programmers may not be familiar with all the advanced features of the Standard C++. The approach throughout Beginning C++ is to cover what C++ does out of the box. (One good reason to consider C++ instead of Java, for example, is that C++ is very close to becoming an international standard, while Java continues to fragment amid proprietary disputes between vendors such as Sun Microsystems and Microsoft.) Even early chapters introduce Standard Library features along with basic C++ data types, keywords, operators, and flow control statements. The built-in C++ string class gets full coverage, all before the book introduces the concepts of pointers. (It's significant that the new C++ can do a lot more than manipulate data through pointers. The author makes a strong case that these built-in strengths are what will let C++ compete against Java.)
Later chapters explore topics in class design, which lets you design custom effective classes in C++. Thorny issues in class design, such as inheritance, virtual methods, and the proper use of default and copy constructors, as well as the pitfalls and advantages of operator overloading, are all presented in remarkably clear detail.
Classes in the C++ Standard Template Library are given their due. In all, Beginning C++ provides a massive amount of material, but presents it in digestible increments. The authors do a fine job of presenting the basics before going on to more advanced topics. This can be used as a stand-alone text to getting the most out of the C++ language.
From the Publisher
About the Author
Excerpt. © Reprinted by permission. All rights reserved.
In this chapter we'll look at some of the basic data types that are built into C++, and that you're likely to use in all your programs. We'll also be investigating how you perform some simple numerical computation. All of C++'s object-oriented capability is founded on the basic data types built into the language, because all the data types you'll create are ultimately defined in terms of the basic types. It's therefore important to get a good grasp of using them. By the end of the chapter, you will be able to write a simple C++ program of the traditional form: input...process...output.
In this chapter, you will learn about:
Data types in C++
What literals are, and how you define them in a program
Binary and hexadecimal representation for integers
How you declare and initialize variables in your program
How calculations using integers work
Programming with values that are not integers - floating point calculations
How you can prevent the value stored in a variable from being modified
How to create variables that can store characters
Data and Data Types
C++ is a strongly typed language - in other words, every data item in your program has a type associated with it that defines what it is. Your C++ compiler will make extensive checks to ensure that, as far as possible, you use the right data type in any given context, and that when you combine different types they are made to be compatible. Because of this type checking, the compiler is able to detect and report most errors that would arise from the accidental interpretation of one type of data as another, or from attempts to combine data items of types that are mutually incompatible.
The numerical values that you can work with in C++ fall into two broad categories: integers (in other words, whole numbers), and floating point values (which can be fractional). You can't conclude from this that there are just two numerical data types, however. There are actually several data types in each of these categories, where each type has a permitted range of values that it can store. By way of explanation, let's look at how you carry out arithmetic calculations in C++, starting with how you can calculate using integers.
Performing Simple Calculations
To begin with, we can get some bits of terminology out of the way. An operation (such as a mathematical calculation) is defined by an operator - + for addition, for example, or * for multiplication. The values that an operator acts upon are called operands, so in an expression such as 2 * 3, the operands are 2 and 3.
Because the multiply operator requires two operands, it is called a binary operator. Some other operators only require one operand, and these are called unary operators. An example of a unary operator is the minus sign in -2. The minus sign acts on one operand - the value 2 - and changes its sign. This contrasts with the binary subtraction operator in expressions such as 4 - 2, which acts on two operands, the 4 and the 2.
Calculations involve operations on numbers, so a good starting point is to get a general idea of how you specify numeric values. In C++, fixed values of any kind, such as 42, or 2.71828, or "Mark Twain", are referred to as literals. In Chapter 1, when we were outputting text strings to the screen, we used a string literal - a constant defined by a series of characters between a pair of double quotes, of which "Mark Twain" is an example. Now we will investigate the types of literals that are numeric constants. These are the ordinary numbers you meet every day: your shoe size, the boiling point of lead, the number of angels that can sit on a pin - in fact, any defined number.
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.
Product details
- Publisher : Apress; 2nd edition (April 1, 1998)
- Language : English
- Paperback : 953 pages
- ISBN-10 : 186100012X
- ISBN-13 : 978-1861000125
- Item Weight : 3.35 pounds
- Dimensions : 7.5 x 2 x 9.25 inches
- Best Sellers Rank: #653,909 in Books (See Top 100 in Books)
- #152 in C Programming Language
- #216 in C++ Programming Language
- #1,664 in Computer Programming Languages
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews right now. Please try again later.
I am impressed with the details, especially with the various changes in the style of the declaration of header files and different library functions used in C++, largely as preprocessor directives for those exposed. About 13 years ago and on and off in the follow years, I took continuing education courses on introductory C++ based at that time on the older, now legacy, C++ programming language, which was quite a bit like the more basic C language from which C++ was derived.
Ivor Horton's book (referring to 3rd edition) comes in 20 chapters. In my introductory course, I am expected to study and familarize the materials from Chapter 1 through Chapter 10. That basically covers the fundamentals of the language such as: data types, decisions in programs, loops, arrays and strings, pointers, and functions (also known as "procedures" or "routines" in other language nomenclature). The actual core of the materials that C++ programmers must cover to become expert in as well as object-oriented programming concepts lie in Chapters 11 and onwards: user-created data types, classess and their operations, operator overloading, inheritance, virtual functions and polymorphisms, program errors and exception handling, class templates, I/O operations, and finally the Standard Template Library.
One observation here is that Ivor Horton's book reads like a story (storytelling) or a novel. Even though the diagrams and illustrations he presents are very good or great, he prefers not to be "bulletized" or axiomatic in his approach. In this respect, he seem to be literary rather than mathematical in his outlook and analysis, unusual for a person trained in mathematics.
Another observation is that from the first chapter onwards, and more perceptibly from Chapter 2 forwards, he delves painfully into details. That said, all is fine except that he consistently demonstrates his ideas using difficult and powerful programming examples (software code) to illustrate his discussions on various C++ topics, e.g., for and while loops. Is he trying to show his C++ programming prowess? The book is "deep".
Thirdly, the entire Horton book is in moderately small print, all in black on snow-white paper (softbound). The letters and numbers tend to be small and hard on the eyes of the readers who do not possess good vision. The black print on white paper convey a sense of seriousness and lack of humor or "color", even if further reading largely dispells these criticisms.
All in all, I can say that Ivor Horton's C++ text is a good book to learn the C++ programming language if: (a) you have time to tolerate his detailed and deep exposition, albeit well-stated and somewhat clear, of the language, (b) you have a bit of previous exposure or years of programming experience in C, legacy C++, C++ or even Java, (c) you have the power of concentration and patience to focus in on the highlights and key points in each chapter through programming examples Ivor Horton wishes to convey or emphasize but does it in excruciatingly painful detail, and (d) you are enthusiastic about learning C++, not just get by in trying to learn enough to meet day-to-day job requirements and workplace miscellancy (to satisfy company directives to stay current in programming skills).
So, Ivor Horton's book can be a gem to those who are eager to learn and are either initiated, exposed, or better still, experienced C, C++ and Java programmers. However, it is definitively a poor choice ("heavy read") for anyone who is beginning to learn C or C++ from knowing no programming languages at all, or the older, more obsolete FORTRAN, COBOL or BASIC languages, because of what I mentioned above. That is why I cannot in good conscience give the book 5 stars, but it is after all a good or very good book to learn from and relatively inexpensive even for a paperback - hence my 4 stars.
For those who used the more costly late 1990's Deitl & Deitl's book(s) on C++ programming ("How-to: C++"), Ivor Horton's book is much better or by far better, especially on the schematics and diagrams dissecting the language features and various structures, as well as being a bit cheaper. Personally, I prefer the late 1990's book by Dale, Weems and Headington on C++ (newer edition available), also very thick as book but better organized and much easier to learn from with much larger print and lovely colors (color contrasts) - lots of diagrams and schematics clearly depicting C++ programming ideas, dissections of structures, and an overall axiomatic (point-by-point) approach.
It gives extremely thorough explanations. Unlike other books, it does not skip over the less used subtopics of the language.
Also, Deitel's C++ how to program : late objects version 7th edition, is an excellent text. (It was a required text for a course I took)
I have a C book written my the same author. I really like how it was written. The author did not disappoint with this one. Like the C, this book is well written and easy to understand with great examples. The toughest thing for me about C++ programming is the idea of object-oriented programming. I didn't realize that was using that concept when I was writing code in C. This book really help me to make that connection. It took me about 3 weeks to start rewriting some of my C programs in C++. For someone like myself to do that, it speaks a lot about the author and the book.
The bad: There were some obvious errors in some of the figures. One example is that he showed a C-style string with 2 null values at the end. Also, they placed the wrong figure in some places which makes you wonder what he is talking about when he refers to that figure. And finally there were some typing errors which made it seem like it wasn't proofread very well.
Overall: Not a bad book. Good examples and good explanations. I think they should revise the book for some editing errors though.
Compared to every other programming text I've used, this book is by far the easiest to grasp. The author does a really good job at explanations. The problems at the end of each chapter are good as well. As with any programming book, it is best if you have a second reference on hand, but I'd recommend this as a primary text book if you just had to choose one.
