C++ Programming Today / Edition 2 available in Paperback
For any introductory C++ Programming Language course or general introductory computer programming course.
C++ Programming Today, 2/E presents the C++ language and object-oriented theory in an easy-to-read, comprehensive text. Written in an easy-to-read, informal style, it guides the reader from beginning programming through complex object-oriented techniques. The text has a large variety of program examples along with easy-to-understand figures, summary reference tables, and appendices. The text is filled with practical programming information including style guidance, debugging, multi-file program construction, and real-world, commonsense programming advice. Extensively classroom tested during development, the text incorporates the excellent student feedback and suggestions the author received. In addition, Visual C++ 2005 Express Edition is packaged with the text, providing students with an excellent development tool for learning object-oriented programming.
About the Author
Barbara Johnston is a faculty member in the Business and Information Technology Division of Central New Mexico Community College. At the college, she is program chair for Computer Programming and Database Technology programs. She teaches C++, Java, OpenGL, and Windows programming courses. Ms Johnston also supports the software development staff of Rapid Imaging Software, Inc. by writing Java and C++ applications. Before joining the faculty of CNM, she was a software engineer and engineering manager for Rockwell International Corporation working mainly on scientific visualization and data modeling projects. Ms. Johnston earned a MS in Electrical Engineering, MA in Mathematics Education, and BS in Biology, from the University of New Mexico. Her other text books include the C++ Programming Today 1st Ed and Java Programming Today.
Table of Contents
1. C++ Overview and Software Development.
2. Getting Started, Data Types, Variables, Op, Arithmetic, Simple I/O and the C++ String.
3. Control Statements and Loops.
4. Functions Part 1, The Basics.
5. Functions Part 2, Variable Addresses, Pointers, and References.
7. Writing Classes and Using Objects.
8. Inheritance and Virtual Functions.
A. Getting Started with Microsoft Visual C++ 2005 Express Edition.
B. C++ Keywords Dictionary.
C. Operators in C++.
D. ASCII Character Codes.
E. Bits, Bytes, Memory and Hexadecimal Notation.
F. File Input/Output.
G. Partial C++ Class Reference.
H. Multi-Files Programs.
I. Microsoft Visual C++ 2005 Express Edition Debugger.
J. 1st Edition to 2nd Edition Correlation Guide.
C++ Programming Today was written for the individual who is interested in learning to program in C++. You may be
- A college student studying for an associate's, a bachelor's, or master's degree.
- A, community college student working toward an associate's degree.
- An employee interested in becoming a programmer at your company.
- A retired individual interested in learning to write programs for fun.
Whatever your situation, if you are ready to learn computer programming, C++ Programming Today is for you.
C++ Programming Today Is Easy to Read
This text was classroom tested for more than a year at the Albuquerque Technical Vocational Institute, the largest community college in the state of New Mexico. The students were quite helpful in pointing out the difficult portions and they suggested better ways to explain certain topics. Their input ensured that the technical jargon of the book was written in plain English. What does that mean? A principal goal was to write a C++ programming text that would be easy to read and to understand. When a topic is hard or confusing, the readers are warned.
The students and reviewers alike agree that the readable style of C++ Programming Today is top quality!
How Much Math Do You Need?
I do not assume that you have had any recent math courses or that you remember much of the mathematics you knew at one time. It is true that many programming applications require rigorous mathematics, but you will not need that here justmultiplication, division, addition, and subtraction. You won't find a summation using Greek lettersin this book!
Examples Are Easy to Understand
Some of the C++ topics can be difficult to grasp, but the examples presented here have been designed for easy understanding. We Keep It Simple, Sweetie (KISS) so that you can concentrate on the details of the C++ language. Most of us learn new skills in the same way: with examples and practice. Our KISS programs include writing messages to the screen, adding monthly telephone bills, and modeling shopping activities, parking meters, vending machines, and silly dice games. These examples help demonstrate how C++ with object programming is performed.
Light on the Math, Heavy on the C++ Concepts
We need just a simple review of mathematics, but this does not mean that we will tread lightly on the C++ language. This book tackles some complicated programming topics; virtual functions and inheritance aren't for babies. Pointers (a powerful programming tool) are used whenever possible. Class relationshipsa topic barely touched on in other textsis given its own chapter with numerous examples. This text covers not only classes and objects but also shows how to create arrays of objects and pass these arrays to functions. You will learn how to pass the addresses of objects to functions and access members through pointers.
Great Features in C++ Programming Today
I give practical, commonsense programming tips. Some are listed here:
- The programmer's do's and don'ts: guidelines illustrate what to do and not to do in your programming endeavors.
- Troubleshooting sections provide insight into common mistakes and pitfalls.
- Writing code the right way is important, but sometimes seeing code written incorrectly can be informative, too. Right and wrong, good and bad examples are here in C++ Programming Today.
- Four icons are used throughout the text to highlight good and bad program examples and caution and troubleshooting tips.
Good Programming Practice!
Stop! Do Not Do This!
- Building programs in a step-by-step manner is described.
- Tips for working with data arrays are provided.
- Compiler errors and warnings are shown in both Microsoft Visual C++ Version 6.0 and the GNU C++ Compiler.
- Helpful ideas concerning the type of programming error and resulting compiler warnings/errors or program behavior are given.
- A wide variety of program examples, ranging from short one-liners to multifile, multiobject, medium size programs, are included.
- Complete programs, such as accessing the computer system time as a seed for the random number generator or shuffling and dealing playing cards, are provided. The reader is welcome to use any of these as a starting point for further expansion.
C++ Programming Today Has Information Not Found in Other Texts
Many of the C++ Programming Today appendixes contain information and demonstration programs for the day-to-day programmer. Summary tables for function use are found throughout the text. There are several unique appendixes, including:
- Getting Started with Visual C++ and the Visual C++ Help.
- File Input/output, showing sample programs for working with text and binary files.
- How to use the Microsoft Visual C++ Debugger.
- Building multifile programs.
- C++ Keyword Dictionary, containing the sixty-three C++ keywords, with description and example of how each keyword is used.
Two CD-ROMs Accompany C++ Programming Today
Two compact disks are included with this book. One CD is a copy of the Microsoft Visual C++ Version 6.0, Introduction Edition, which may be installed on a personal computer and used to build and run C++ programs. This software includes the Visual C++ development tools as well as an excellent C++ language reference.
The second CD contains the source code for all the program examples in this text. These examples are organized into Microsoft Visual C++ project folders, and each project is located in its respective chapter folder. These source code folders should be copied onto your hard disk and accessed through Visual C++. The source code files (including *.cpp and *.h files) are text-based and ready to be copied to other C++ development environments.
- Laboratory Manual for C++ Programming Today (ISBN 0-13-093660-X) provides a large variety of complete programming problems for students. It contains assignments beginning with Chapter 2, Getting Started, through Chapter 11, Inheritance and Virtual Functions. As with any programming language, it is necessary for students to be given problems where they can build codes "from the ground up." The programming tasks in this lab manual present easily understood problems that challenge the new programmer to explore and use the language features.
- Instructor's Manual to accompany C++ Programming Today (ISBN 0-13092392-3) provides the solutions to the Review Questions and Problems found at the end of each chapter. The manual, which is available free of charge to instructors using the text for a course, provides discussion and insight into topics that beginning C++ students may find difficult or confusing. Complete program source codes for all programming problems in the text are provided on an accompanying CD-ROM.
- Companion Website, www.prenhall.com/johnston
- Prentice Hall Test Manager (ISBN 0-13-093669-3)
ISO C++, Not Visual C++
The programs included in this text are written according to the International Standards Organization C++ standards. You may run (or modify and run) these programs on any computer system that has ISO standard C++ software. The Microsoft Visual C++ software is included so that you may load it on your personal computer at home and practice writing C++ programs. The appendixes cover how to build and debug a program in Visual C++. You can create and run these programs using the Microsoft Visual C++ Console Application.
The Visual C++ environment also provides the programmer with the necessary tools for writing Microsoft Windows applications. The Windows application programs typically have a graphical user interface, driven by selecting menu items or by clicking the mouse. Visual C++ has an entire object-oriented framework, known as the Microsoft Foundation Class (MFC), for writing these applications. This text does not present in-depth material on MFC or Windows application programming. A brief overview of MFC may be found in Chapter 12, Advanced Topics in C++.
Life After C++ Programming Today
Master the concepts in C++ Programming Today. With them you will find yourself well prepared to tackle Windows programming using Microsoft Foundation Class Library, start learning Java, or simply continue working on more C++ problems.