Professional Documents
Culture Documents
EXAMPLE
C++
By
Greg Perry
i
Contents ♦
C++ By Example
© 1992 by Que
All rights reserved. Printed in the United States of America. No part of this
book may be used or reproduced, in any form or by any means, or stored
in a database or retrieval system, without prior written permission of the
publisher except in the case of brief quotations embodied in critical articles
and reviews. Making copies of any part of this book for any purpose other
than your own personal use is a violation of United States copyright laws.
For information, address Que, 11711 N. College Ave., Carmel, IN 46032.
Library of Congress Catalog Card Number: 92-64353
ISBN: 1-56529-038-0
This book is sold as is, without warranty of any kind, either express or
implied, respecting the contents of this book, including but not limited to
implied warranties for the book’s quality, performance, merchantability,
or fitness for any particular purpose. Neither Que Corporation nor its
dealers or distributors shall be liable to the purchaser or any other person
or entity with respect to any liability, loss, or damage caused or alleged to
be caused directly or indirectly by this book.
96 95 94 93 92 8 7 6 5 4 3 2 1
Interpretation of the printing code: the rightmost double-digit number is
the year of the book’s printing; the rightmost single-digit number, the
number of the book’s printing. For example, a printing code of 92-1 shows
that the first printing of the book occurred in 1992.
ii
C++ By
EXAMPLE
iii
Contents ♦
Dedication
Dr. Rick Burgess, you shaped my life. Good or bad, I’m what I am
thanks to your help. I appreciate the many hours we’ve shared together.
G.M.P.
iv
C++ By
EXAMPLE
About the Author
Greg Perry has been a programmer and trainer for the past 14 years.
He received his first degree in computer science, then he received a
Masters degree in corporate finance. He currently is a professor of
computer science at Tulsa Junior College, as well as a computer
consultant and a lecturer. Greg Perry is the author of 11 other
computer books, including QBASIC By Example and C By Example. In
addition, he has published articles in several publications, including
PC World, Data Training, and Inside First Publisher. He has attended
computer conferences and trade shows in several countries, and is
fluent in nine computer languages.
v
Contents ♦
vi
C++ By
EXAMPLE
Acknowledgments
Trademark Acknowledgments
Que Corporation has made every attempt to supply trademark
information about company names, products, and services men-
tioned in this book. Trademarks indicated below were derived from
various sources. Que Corporation cannot attest to the accuracy of
this information.
AT&T is a registered trademark of American Telephone &
Telegraph Company.
FORTRAN and COBOL are trademarks of International
Business Machines Corporation (IBM).
Turbo BASIC is a registered trademark of Borland
International, Inc.
Turbo C is a registered trademark of Borland International, Inc.
Microsoft QuickC and MS-DOS are registered trademarks of
Microsoft Corporation.
ANSI is a registered trademark of American National Standards
Institute.
vii
Contents ♦
viii
C++ By
EXAMPLE
Overview
I Introduction to C++
1 Welcome to C++ ...........................................................................11
2 What Is a Program? ......................................................................35
3 Your First C++ Program ..............................................................51
4 Variables and Literals ..................................................................69
5 Character Arrays and Strings .....................................................99
6 Preprocessor Directives .............................................................113
7 Simple Input/Output .................................................................133
ix
Contents ♦
VIII References
A Memory Addressing, Binary, and Hexadecimal Review .....679
B Answers to Review Questions ..................................................701
C ASCII Table ..................................................................................719
D C++ Precedence Table ................................................................729
E Keyword and Function Reference............................................733
F The Mailing List Application ....................................................737
Glossary .......................................................................................747
Index .............................................................................................761
x
C++ By
EXAMPLE
Contents
Introduction ...................................................1
Who Should Use This Book ....................................................1
The Book’s Philosophy ............................................................2
Overview of This Book ............................................................2
Conventions Used in This Book .................................................5
Index to the Icons .....................................................................5
Margin Graphics (Book Diagrams) .......................................6
Companion Disk Offer ................................................................8
I Introduction to C++
xi
Contents ♦
xii
C++ By
EXAMPLE
xiii
Contents ♦
xiv
C++ By
EXAMPLE
13 The for Loop ...............................................273
The for Statement .....................................................................274
The Concept of for Loops ........................................................274
Nested for Loops ......................................................................286
Review Questions .....................................................................292
Review Exercises ......................................................................293
Summary ...................................................................................293
14 Other Loop Options ...................................295
Timing Loops ............................................................................296
The break and for Statements .................................................298
The continue Statement ...........................................................303
Review Questions .....................................................................308
Review Exercises ......................................................................308
Summary ...................................................................................309
15 The switch and goto Statements ..............311
The switch Statement ...............................................................312
The goto Statement ...................................................................321
Review Questions .....................................................................327
Review Exercises ......................................................................328
Summary ...................................................................................328
16 Writing C++ Functions ...............................331
Function Basics .........................................................................332
Breaking Down Problems .......................................................333
More Function Basics ...............................................................335
Calling and Returning Functions ...........................................337
Review Questions .....................................................................349
Summary ...................................................................................350
xv
Contents ♦
V Character Input/Output
and String Functions
xvi
C++ By
EXAMPLE
xvii
Contents ♦
xviii
C++ By
EXAMPLE
28 Structures ..................................................583
Introduction to Structures .......................................................584
Defining Structures ..................................................................587
Initializing Structure Data .......................................................591
Nested Structures .....................................................................600
Review Questions .....................................................................603
Review Exercises ......................................................................604
Summary ...................................................................................604
29 Arrays of Structures ..................................605
Declaring Arrays of Structures ...............................................606
Arrays as Members ..................................................................615
Review Questions .....................................................................623
Review Exercises ......................................................................624
Summary ...................................................................................624
30 Sequential Files .........................................625
Why Use a Disk? .......................................................................626
Types of Disk File Access ........................................................627
Sequential File Concepts .........................................................628
Opening and Closing Files ......................................................629
Writing to a File ........................................................................635
Writing to a Printer ..................................................................637
Adding to a File ........................................................................638
Reading from a File ..................................................................639
Review Questions .....................................................................642
Review Exercises ......................................................................643
Summary ...................................................................................644
31 Random-Access Files ................................645
Random File Records ...............................................................646
Opening Random-Access Files ...............................................647
The seekg() Function ................................................................649
Other Helpful I/O Functions..................................................656
Review Questions .....................................................................658
Review Exercises ......................................................................658
Summary ...................................................................................659
xix
Contents ♦
32 Introduction to Object-Oriented
Programming .............................................661
What Is a Class? ........................................................................662
Data Members ......................................................................662
Member Functions ...............................................................662
Default Member Arguments...................................................670
Class Member Visibility ..........................................................674
Review Questions .....................................................................676
Review Exercise ........................................................................676
Summary ...................................................................................676
VIII References
xx
C++ By
EXAMPLE
F The Mailing List Application .....................737
Index ..........................................................761
xxi
Contents ♦
xxii