C++ Without Fear: A Beginner's Guide That Makes You Feel Smart / Edition 2

Paperback (Print)
Rent from BN.com
(Save 69%)
Est. Return Date: 08/02/2015
Buy New
Buy New from BN.com
Used and New from Other Sellers
Used and New from Other Sellers
from $19.06
Usually ships in 1-2 business days
(Save 45%)
Other sellers (Paperback)
  • All (17) from $19.06   
  • New (13) from $19.06   
  • Used (4) from $20.72   


If you've always wanted to learn how to program a computer, or to learn the popular C++ programming language, here's the perfect book and CD to get you started. You'll find everything you need patiently explained and clearly illustrated, from general programming concepts and techniques to the particulars of the C++ language. In no time, you'll be writing your own programs! Yes, programming can be a complex task, and C++ is a language often used by professionals. In fact, many of the coolest games, graphics, and Internet applications are created with C++. But the language, like the monster on the cover, need not be all that fearsome. Broken down to its essentials, and enhanced by simple examples and practical exercises, you'll be amazed at the quick progress you can make. With C++ Without Fear you will: Learn the basics of C++ programming, Get started writing your own programs, See how and why each piece of a program does what it does, Create useful and reusable program code, Understand object-oriented programming - for once explained in simple, down-to-earth terms. Whether you wish to learn C++ programming for pleasure - and you'll discover here how much fun it can be - or might be considering a career in programming, this book is an intelligent first step.
Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Completely new to programming? It’s easy to inadvertently buy a “beginner’s book” that still assumes more programming knowledge than you have. That won’t happen with C++ Without Fear: If you can turn on your PC and install the software on this book’s CD-ROM, you’re pretty much ready.

Brian Overland starts by helping you “think like a programmer,” then walks you through each step involved in writing a program. Then, one at a time, he offers utterly simple explanations of variables, data types, loops, functions, arrays, pointers, strings, files -- all the meat-and-potatoes of C++ coding. And, yes, once you’re good and ready: objects and object-oriented programming, too. Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2003 and Upgrading & Fixing Networks for Dummies, Second Edition.

From the Publisher
From reader Lara Vural: "Dear Mr. Overland, I am in love with your C++ Without Fear book. It keeps me awake for hours during the night, this is a really, really good job - especially for the beginners. I am a physics undergraduate student by the way and I needed to learn C since I am in the CERN CMS group - so I needed to do some data analysing for some of the datas produced at CMS. I must say thanks to you, I got most of the overall idea in just a few hours. I'm sure there are many, many others out there who are having fun with this as much as I do, while learning. Thank you very much with all my heart. Best wishes, Lara"
Read More Show Less

Product Details

  • ISBN-13: 9780132673266
  • Publisher: Prentice Hall
  • Publication date: 5/5/2011
  • Edition number: 2
  • Pages: 624
  • Sales rank: 230,073
  • Product dimensions: 6.84 (w) x 8.98 (h) x 1.32 (d)

Meet the Author

Brian Overland has professional experience as a programmer on large commercial projects, as an author of six books, and as a teacher of programming. At Microsoft, he was a programmer, writer, and manager, winning several awards for writing. He’s been involved with several hi-tech start-ups since then. When not programming or writing programming books, Brian is an actor and novelist.
Read More Show Less

Read an Excerpt

In my ten years at Microsoft, I found the top-level programmers ("software development engineers," we called them) to be an interesting breed. Once you got them to open up and talk about their projects, they could be an articulate and passionate group.

The trick was to get beyond the initial barrier, to convince them that you spoke their language. Experienced programmers sometimes divide the world into two groups: those who are "technical" and those who are not. At times a yawning gap seems to exist between them, like that between people with perfect pitch and those without.

For programmers, the dividing line these days is most often the ability to program in C++. This attitude stems from the perception of C++ as difficult to learn.

This book is dedicated to the idea that C++ need not be difficult. It's often a more challenging language than Basic, to be sure, but with the right kind of help,you can master the tricks of C++.Why a New C++ Book?

Introductory programming books for C++ exist aplenty. But many—probably the great majority—are "introductory" only in the sense that they don't assume knowledge of C++ specifically. They usually assume that you've programmed in another language before, preferably in several.

This book does not make that assumption. All that's required is that you're comfortable with a computer and that you've run applications such as a word processor or e-mail reader.

Once you narrow the available C++ texts down to those that require no programming experience at all, there's a much smaller group of books from which to choose.What Else Is New about This Book?

The book you hold in your hand stresses the fundamentals ofprogramming. Yet even if you have programmed before (maybe you've taken a basic course in high school or college), you may find this a useful review. This book delves into thetopic of how to think like a programmer . . . and why specific language features matter. The why is as important as the how.

People learn best when they get the benefit of several learning methods reinforcing one another. Therefore, every topic in this book is introduced by a general discussion with short program-code examples, accompanied by the following:

  • A complete program example. Usually I provide a complete example that can be run and tested. The emphasis in this book is on short examples that do something interesting and useful and, when possible, something fun.
  • Programming exercises. Each example has a series of accompanying exercises, in which I encourage you to modify the example or write similar programs, so that from the beginning you're writing C++ code. Answers to these exercises provided on the accompanying CD in the folder "Example Code and Answers to Exercises."
  • Generous use of illustrations. Many so-called beginning texts don't use this approach at all. But I often find that the right figures can clarify an abstract concept. One picture is worth a thousand lectures, sometimes.
  • A special "How It Works" section for every major example in the book. How-to program texts are notorious for giving you a long example followed by a couple of paragraphs of text. That's not the approach of this book. Complete examples are listed so that you can see everything in context. But after each example, I go back and dissect the program a couple of lines at a time, explaining how and why each bit of the program does what it does.
Multiple Learning Paths: What Fits You Best

In addition to the multiple learning techniques just described, this book contains frequent Interludes, where the more curious reader will find additional background and explanations why C++ features work the way they do. If you're eager to just get C++ programs working, you may want to skip the Interludes and return to them later. One of the advantages of this book is that it accommodates multiple learning paths.

Unlike some texts, this book does not start with an exhaustive description of all language features such as data types, control structures, and operators. That would be like learning French by spending months memorizing nouns ratherthan learning to speak a complete sentence. This book focuses on getting real programs to work, right away.

At the same time, it's helpful to have access to a thorough-but-concise summary of language features. This book provides that summary in a series of convenient appendixes.What If You Already Have a Programming Background?

If you already know another programming language but are new to C++, that's not a problem. Certain ideas in programming never get old: what it means to think like a programmer, what's going on just beneath the surface, why the language is constructed the way it is. This review of programming fundamentals may be of interest anyway. But if not, you can speed through the first chapter or two. C++ gets challenging quickly enough.What Is Not Covered?

The goal of this book is to make you comfortable and conversant in C++, including objected-oriented programming features (classes and objects) that, although a relatively advanced topic, are at the heart of C++. The goal is not to teach every last bit of language syntax or to describe how every statement is translated into machine behavior (that is, how it is implemented), although in some places I do discuss that.

In my view, the good majority of beginning texts make the mistake of trying to cover every obscure corner of the language, even though there is ample room in intermediate to advanced books to handle those topics.

In case you are a C++ expert or otherwise a guru perusing this book, or you have some familiarity with the scope of the language, here is a summary of what's in C++ but is not covered in this book. (Consider this a "truth in advertising"disclaimer.)

  • Bit fields and bit operations. Bit operations can occasionally be useful for programs that must make extreme use of compact space, but in general, bit operations are rarely necessary. This is a good advanced topic. Likewise, I don't cover the union keyword (another feature used for compaction).
  • Windows and GUI programming. These are difficult subjects, deserving of their own book (or three). Visual C++ requires understanding of a complex architecture and thorough knowledge of object-oriented programming systems (OOPS). Reading this book first will give you a background in OOPS.
  • Templates and STL (Standard Template Library). This is another good topic for an advanced book. A template is a way of creating a generalized data structure in which an abstract mechanism can be combined with any number of specific data types. The template-defining capability was not originally in the C++ specification, although it is now standard.

Although this book does cover exception handling—a way to respond to runtime errors—I don't stress it, because it is most appropriate in complex programsand not likely to be as useful to a beginner.Why Should Anyone Start with C++?

Some people will tell you that C++ is unsuitable for beginners; therefore, unless you're in the elite of talented and experienced programmers, you shouldn't bother. I don't agree with that.

There are some good reasons for learning C++ early in your programming career. People used to spend a lot of time mastering the C language first. Yet C is rarely used for real work anymore. Now students learn it primarily as a stepping-stone to C++. But this makes little sense. You can pick up some bad habits learning C. It's better to go directly to C++. C++ is now the language of choice for systems programmers as well as for writing commercial software—including games, graphics, and business-oriented programs.

Some other languages (notably Microsoft's Visual Basic) are more forgiving. But as with C, Basic can encourage bad habits. C++ offers any learner some unique rewards.

  • Like the C language, C++ is a systems-programming language. In learning about C++ (at least in this book) you'll learn a lot about how things work in the computer and why they do.
  • Unlike C, C++ is a good implementation of object-oriented programming. This is an approach to programming in which you create intelligent data structures, especially well suited to things such as graphics programming. Object-oriented programming also lets you define new types that in effect expand the capabilities of the language itself. In learning object-oriented programming, you'll learn more about the current state of software design and where it's going.

The first half of this book focuses on the fundamentals of C++: how to get a program to work and accomplish basic tasks. From the beginning, however, it does get you to start using and understanding objects.

The second half focuses more completely on object-oriented programming, with special emphasis on how you can use it to write useful—and reusable—program code.To Get Started . . .

This book provides an added bonus: an accompanying CD with a free compiler, which is the language translator needed to write and execute programs in C++. All the programming examples in this book have been tested and retested with this compiler. The examples also work with compilers such as C++ in Microsoft Visual Studio.NET, although you'll need to follow the special instructions in Chapter 1 for use with that environment.

To install the free C++ compiler, just insert the CD into a PC and follow the instructions in the README.TXT file in the root directory.

This compiler is a free shareware version of GNU C++. You are free to use it to build and distribute your own programs. It also comes with a free development environment, so (as described in Chapter 1), you can write programs and then build them (translate them into executable form) at the touch of a single keystroke.Tips and Tricks: What Do I Watch Out For?

Perhaps what gives C-based languages their reputation for being more difficult than some others is that they have some "gotchas"—things that will catch you offguard if you don't have a friendly mentor standing next to you to steer you around the pitfalls.

As much as anything, this book is about keeping you safe from the gotchas. For too many people, the ability to program is gained only after making the same unnecessary mistakes over and over.

Above all, I hope to communicate some of what makes the subject, at least at times, so interesting. Software development can test your patience as you track down elusive bugs. But the concepts can be fascinating. In our new century, programming computers has become the new kind of craftsmanship, the new mode of fashioning fine tools, for a world that runs on information.

Read More Show Less

Table of Contents

Ch. 1 Your first C++ programs 1
Ch. 2 Decisions, decisions 33
Ch. 3 The handy, all-purpose "for" statement 65
Ch. 4 Functions : many are called 81
Ch. 5 Arrays : we've got their number 111
Ch. 6 Pointers : getting a handle on data 139
Ch. 7 Strings : analyzing the text 163
Ch. 8 Files : electronic storage 197
Ch. 9 Some advanced programming techniques 219
Ch. 10 Getting yourself object oriented 245
Ch. 11 The fraction class 261
Ch. 12 Constructors : if you build it ... 291
Ch. 13 Operator functions : doing it with class 313
Ch. 14 What's "new" : the stringparser class 343
Ch. 15 What's "this" : the string class 363
Ch. 16 Inheritance : what a legacy 385
Ch. 17 Polymorphism : object independence 413
App. A C++ operators 435
App. B Intrinsic data types 439
App. C C++ syntax summary 441
App. D ASCII codes 451
App. E Common library functions 453
Read More Show Less

Customer Reviews

Average Rating 3.5
( 12 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 12 Customer Reviews
  • Posted June 14, 2009

    Brian Overland is an Exceptional Author

    This book is extremely well written. Its structure is superb. Brian manages to lead you by the hand, providing plenty of examples with clear explanations. With each chapter I gained an increase in confidence and ability. I almost didn't buy this book because of it's cover. That would have been a mistake. I would highly recommended this book.

    2 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Posted July 21, 2011

    Great for beginners; Here's A Great Start!

    Buy it if you want to learn C++ and you know nothing of programming. It works! I should know, I used it.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted February 16, 2013


    I'd love to write a review, but the stupid book won't unlock on the Nook that I used to purchase it.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted January 20, 2013

    To the one below me

    The graphics are fine there big enough

    Was this review helpful? Yes  No   Report this review
  • Posted January 14, 2013

    Great written description. Easy to follow. Well designed for beg

    Great written description. Easy to follow. Well designed for beginners. Graphics are too small to be viewable on a Nook Reader. Graphics are unusable which is a shame. Had they be useable, this would have been a perfect entry-level book. Can't recommend it for Nook users. 

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted January 7, 2013

    Great book

    Very interesting book. Holds my attention. Author explains very well.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 4, 2005

    Highly Recommended Beginner Book for C++

    After reading several reviews of C++ books i was at a loss like many.. so many choices.. which one is best? Well i took some advice from my frined.. he said 'go to the local BN and read a few and focus on a subject that you dont know what it is.. and see if it makes sense to you.' Well i read parts of this as well as many others.. and ive read part of it as of now.. very very well written. Easily explained... also one thing to keep in mind, this book references stuff that is further ahread in examples, but he is sure to explain them soon after he uses them. Very highly recommended... I absolutly HATE to read, but this book.. i want to read it some more.. it has some odd power that inspires me to keep learning.. so pick it up today! Only at 24.99 bucks you really cant go wrong.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 22, 2004

    I finally feel smart

    This is a great book if you are looking to get into programming. It is very basic, and the author gives excellent examples, along with the, 'How and Why' it works. Like all beginner Programming Books, you are led through the basics and you gain the gradual knowledge as you go. The author provides many sidebars, but not too many as to distract you, which are designed to give you the added knowledge of the language. One of the nice things about this book is the easy to follow language the author uses to explain how to program in C++. I have read many C/C++ books over the years, and this has been by far, the easiest books to learn from. This is by far the best programming book I have read to date, but there are a few shortcomings. The author included a free C++ compiler, GCC, but doesn't talk about how to compile on Linux or through the command line. This was the biggest drawback for me. When the author gives the excercises to do, he usually gives the answer away when giving the excercise. I feel that many of these excercises would be best handled if the user had to look it up his or herself. This is a great book for the novice, and yes, if you are just beginning, why would you need an IDE and graphics if you have never programmed before? Buy this book, you will not be disappointed.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 29, 2004

    Very do-able tasks

    Overland certainly doesn't waste any time. In his preface, he offers to qushortly into Chapter 1, you will be writing your first program. Granted, it just prints something on the screen. But you get to do a full loop of writing, compiling and running. An approach I heartily concur with. It helps build up your confidence in yourself. By sticking to this method throughout the book, Overland keeps you motivated. No small thing, especially if you want to use this book outside a ickly get to showing you how to write complete programs, without having to know most of the C++ syntax. Indeed, classroom, where no one is telling you to keep going. Think of the book as offering a continual stream of deliverables to you. He steers away from advanced topics like templates and the Standard Template Library. These are vital. But later. Nor does he discuss 'union'. Not an advanced topic. But it tends to be so little used that he found he can reduce conceptual clutter by omitting it.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 4, 2012

    No text was provided for this review.

  • Anonymous

    Posted May 29, 2011

    No text was provided for this review.

  • Anonymous

    Posted August 8, 2013

    No text was provided for this review.

Sort by: Showing all of 12 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)