Teach Yourself C++ in 21 Days,
Second Edition
Dedication
This book is dedicated to the living memory of David Levine.
Acknowledgments
A second edition is a second chance to acknowledge and to thank those folks
without whose support and help this book literally would have been impossible.
First among them are Stacey, Robin, and Rachel Liberty.
I must also thank everyone associated with my books, both at Sams and at Wrox
press, for being professionals of the highest quality. The editors at Sams did a
fantastic job, and I must especially acknowledge and thank Fran Hatton, Mary Ann
Abramson, Greg Guntle, and Chris Denny.
I have taught an online course based on this book for a couple years, and
many folks there contributed to finding and eradicating bugs and errors. A very
large debt is owed to these folks, and I must especially thank Greg Newman,
Corrinne Thompson, and also Katherine Prouty and Jennifer Goldman.
I would also like to acknowledge the folks who taught me how to program: Skip
Gilbrech and David McCune, and those who taught me C++, including Steve Rogers
and Stephen Zagieboylo. I want particularly to thank Mike Kraley, Ed Belove,
Patrick Johnson, Mike Rothman, and Sangam Pant, all of whom taught me how to
manage a project and ship a product.
Others who contributed directly or indirectly to this book include: Scott
Boag, David Bogartz, Gene Broadway, Drew and Al Carlson, Frank Childs, Jim
Culbert, Thomas Dobbing, James Efstratiou, David Heath, Eric Helliwell, Gisele
and Ed Herlihy, Mushtaq Khalique, Matt Kingman, Steve Leland, Michael Smith,
Frank Tino, Donovan White, Mark Woodbury, Wayne Wylupski, and Alan Zeitchek.
Programming is as much a business and creative experience as it is a
technical one, and I must therefore acknowledge Tom Hottenstein, Jay Leve, David
Rollert, David Shnaider, and Robert Spielvogel.
Finally, I'd like to thank Mrs. Kalish, who taught my sixth-grade class how
to do binary arithmetic in 1965, when neither she nor we knew why.
Tell Us What You
Think!
As a reader, you are the most important critic and commentator of our books.
We value your opinion and want to know what we're doing right, what we could do
better, what areas you'd like to see us publish in, and any other words of
wisdom you're willing to pass our way. You can help us make strong books that
meet your needs and give you the computer guidance you require.
Do you have access to CompuServe or the World Wide Web? Then check out our
CompuServe forum by typing GO SAMS at any prompt. If you prefer the
World Wide Web, check out our site at
http://www.mcp.com
NOTE: If you have a technical
question about this book, call the technical support line at 317-581-3833.
As the publishing manager of the group that created this book, I welcome your
comments. You can fax, e-mail, or write me directly to let me know what you did
or didn't like about this book--as well as what we can do to make our books
stronger. Here's the information:
Fax: 317-581-4669
E-mail: programming_mgr@sams.mcp.com
Mail: Greg Wiegand Sams Publishing 201 W. 103rd Street Indianapolis, IN 46290
Introduction
This book is designed to help you teach yourself how to program with C++. In
just 21 days, you'll learn about such fundamentals as managing I/O, loops and
arrays, object-oriented programming, templates, and creating C++
applications--all in well-structured and easy-to-follow lessons. Lessons provide
sample listings--complete with sample output and an analysis of the code--to
illustrate the topics of the day. Syntax examples are clearly marked for handy
reference.
To help you become more proficient, each lesson ends with a set of common
questions and answers, exercises, and a quiz. You can check your progress by
examining the quiz and exercise answers provided in the book's appendix.
Who Should Read
This Book
You don't need any previous experience in programming to learn C++ with this
book. This book starts you from the beginning and teaches you both the language
and the concepts involved with programming C++. You'll find the numerous
examples of syntax and detailed analysis of code an excellent guide as you begin
your journey into this rewarding environment. Whether you are just beginning or
already have some experience programming, you will find that this book's clear
organization makes learning C++ fast and easy.
Conventions
NOTE: These boxes highlight
information that can make your C++ programming more efficient and effective.
WARNING: These focus your attention
on problems or side effects that can occur in specific situations.
These boxes provide clear definitions of essential terms.
DO use the "Do/Don't" boxes to find a quick summary of
a fundamental principle in a lesson. DON'T overlook the useful
information offered in these boxes.
This book uses various typefaces to help you distinguish C++ code from
regular English. Actual C++ code is typeset in a special monospace
font. Placeholders--words or characters temporarily used to represent the real
words or characters you would type in code--are typeset in italic monospace. New
or important terms are typeset in italic.
In the listings in this book, each real code line is numbered. If you see an
unnumbered line in a listing, you'll know that the unnumbered line is really a
continuation of the preceding numbered code line (some code lines are too long
for the width of the book). In this case, you should type the two lines as one;
do not divide them.