Introduction 1 Part 1: Getting Started with C++ Programming 7 CHAPTER 1: Writing Your First C++ Program 9 CHAPTER 2: Storing Stuff in Variables 33 CHAPTER 3: Doing the Math 51 CHAPTER 4: Show Me the Good Stuff! 59 CHAPTER 5: Performing Logical Operations 71 CHAPTER 6: Controlling the Flow 83 Part 2: Becoming a Functional C++ Programmer 101 CHAPTER 7: Creating Functions 103 CHAPTER 8: Grouping Similar Things Together Using Arrays 123 CHAPTER 9: Taking a First Look at C++ Pointers 149 CHAPTER 10: Taking a Second Look at C++ Pointers 167 CHAPTER 11: Using the C++ Preprocessor 183 Part 3: Giving Your Program a Bit of Class 207 CHAPTER 12: Examining Object-Oriented Programming 209 CHAPTER 13: Adding Class to C++ 215 CHAPTER 14: Separating Letters from Words: Character Arrays versus Strings 235 CHAPTER 15: Pointing and Staring at Objects 251 CHAPTER 16: Protecting Members: Do Not Disturb 275 CHAPTER 17: "Why Do You Build Me Up, Just to Tear Me Down, Baby?" 287 CHAPTER 18: Making Constructive Arguments 301 CHAPTER 19: Making Copies with the Copy/Move Constructor 327 CHAPTER 20: Adding Static Members: Can Fabric Softener Help? 345 Part 4: A First Look at Inheritance 359 CHAPTER 21: Passing the DNA: Sharing Code with Inheritance 361 CHAPTER 22: Creating Virtual Member Functions: Are They for Real? 371 CHAPTER 23: Factoring Classes 383 Part 5: Object-Oriented Programming in Overdrive 395 CHAPTER 24: Adopting a New Assignment Operator, Should You Decide to Accept It 397 CHAPTER 25: Playing with the Computer's File System 413 CHAPTER 26: Twice the Fun: Tapping into Multiple Inheritance 421 CHAPTER 27: Getting Ahead of Problems: Exception Handling, Contracts, and More 435 Part 6: The Part of Tens 455 CHAPTER 28: Ten Ways to Avoid Adding Bugs to Your Program 457 CHAPTER 29: Ten Ways to Make Your Programs Easier to Update and Understand 465 Index 473.
C++ for Dummies