Chapter 1 C++ BASICS 1
Chapter 2 FLOW OF CONTROL 45
Chapter 3 FUNCTION BASICS 99
Chapter 4 PARAMETERS AND OVERLOADING 145
Chapter 5 ARRAYS 185
Chapter 6 STRUCTURES AND CLASSES 239
Chapter 7 CONSTRUCTORS AND OTHER TOOLS 275
Chapter 8 OPERATOR OVERLOADING, FRIENDS, AND REFERENCES 321
Chapter 9 STRINGS 367
Chapter 10 POINTERS AND DYNAMIC ARRAYS 419
Chapter 11 SEPARATE COMPILATION AND NAMESPACES 471
Chapter 12 STREAMS AND FILE I/O 515
Chapter 13 RECURSION 571
Chapter 14 INHERITANCE 613
Chapter 15 POLYMORPHISM AND VIRTUAL FUNCTIONS 661
Chapter 16 TEMPLATES 693
Chapter 17 LINKED DATA STRUCTURES 731
Chapter 18 EXCEPTION HANDLING 825
Chapter 19 STANDARD TEMPLATE LIBRARY 857
Chapter 20 PATTERNS AND UML (online at www.pearsonhighered.com/savitch)
Appendix 1 C++ KEYWORDS 915
Appendix 2 PRECEDENCE OF OPERATORS 917
Appendix 3 THE ASCII CHARACTER SET 919
Appendix 4 SOME LIBRARY FUNCTIONS 921
Appendix 5 OLD AND NEW HEADER FILES 929
INDEX 931
UPDATED! All material is up-to-date with the latest information about the C++ language
- UPDATED! Introduction to C++ 11 in the context of C++ 98 includes new integer types, the auto type, raw string literals, strong enumerations, nullptr, ranged for loop, conversion between strings and integers, member initializers, and constructor delegation.
- Chapter 1 includes a new short introduction to reading data from a file text, allowing students to solve relevant, complex problems early on in the text.
- Chapter 12 has a new section that teaches students to use stringstream to convert between string and other data types.
- Chapter 13 now describes tail recursion and contains a new example on mutual recursion.
- Additional material has been added throughout the text on sorting, the Standard Template Library, iterators, and exception handling.
- An appendix has been added that introduces the std::array class, regular expressions, threads, and smart pointers.
- REVISED! Errata has been corrected.
Pedagogical features facilitate learning a complex programming language
- 15 Programming projects have been added to the text that challenge readers to design and implement a C++ program to solve a problem.
A companion website provides supplementary information to ease the learning process
- 5 VideoNotes have been added to the companion site that explain programming concepts presented in the text in step-by-step video tutorials. These videos allow students to reinforce major concepts and view the entire problem-solving process outside of the classroom. VideoNotes are indicated by an icon in the text.
Also Available with MyProgrammingLab™
MyProgrammingLab is an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to specific Pearson CS1/Intro to Programming textbooks. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts of programming languages.
- Interactive Practice helps students gain first-hand programming experience in an interactive online environment.
- Step-by-step VideoNote Tutorials enhance the programming concepts presented in your Pearson textbook by allowing students to view the entire problem-solving process outside of the classroom—when they need help the most.
- Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the Pearson eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class. The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.
Dynamic grading and assessment ensure your students' submissions are automatically graded, both saving you time, and offering students immediate learning opportunities. Gradebook results can be exported to Excel to use with your LMS.