{"product_id":"beginning-programming-with-c-for-dummies-isbn-9781118823873","title":"Beginning Programming with C++ For Dummies","description":"\u003cb\u003eLearn to program with C++ quickly with this helpful \u003ci\u003eFor Dummies\u003c\/i\u003e guide\u003c\/b\u003e  \u003cp\u003e\u003ci\u003eBeginning Programming with C++ For Dummies, 2\u003csup\u003end\u003c\/sup\u003e Edition\u003c\/i\u003e gives you plain-English explanations of the fundamental principles of C++, arming you with the skills and know-how to expertly use one of the world's most popular programming languages. You'll explore what goes into creating a program, how to put the pieces together, learn how to deal with standard programming challenges, and much more.\u003c\/p\u003e \u003cp\u003eWritten by the bestselling author of \u003ci\u003eC++ For Dummies\u003c\/i\u003e, this updated guide explores the basic development concepts and techniques of C++ from a beginner's point of view, and helps make sense of the how and why of C++ programming from the ground up. Beginning with an introduction to how programming languages function, the book goes on to explore how to work with integer expressions and character expressions, keep errors out of your code, use loops and functions, divide your code into modules, and become a functional programmer.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eGrasp C++ programming like a pro, even if you've never written a line of code\u003c\/li\u003e \u003cli\u003eMaster basic development concepts and techniques in C++\u003c\/li\u003e \u003cli\u003eGet rid of bugs and write programs that work\u003c\/li\u003e \u003cli\u003eFind all the code from the book and an updated C++ compiler on the companion website\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eIf you're a student or first-time programmer looking to master this object-oriented programming language, \u003ci\u003eBeginning Programming with C++ For Dummies, 2\u003csup\u003end\u003c\/sup\u003e Edition\u003c\/i\u003e has you covered.\u003c\/p\u003e \u003cp\u003eIntroduction 1\u003c\/p\u003e \u003cp\u003eAbout This Book 1\u003c\/p\u003e \u003cp\u003eFoolish Assumptions 2\u003c\/p\u003e \u003cp\u003eHow This Book Is Organized 3\u003c\/p\u003e \u003cp\u003ePart I: Getting Started with C++ Programming 3\u003c\/p\u003e \u003cp\u003ePart II: Writing a Program: Decisions, Decisions 4\u003c\/p\u003e \u003cp\u003ePart III: Becoming a Procedural Programmer 4\u003c\/p\u003e \u003cp\u003ePart IV: Data Structures 4\u003c\/p\u003e \u003cp\u003ePart V: Object-Oriented Programming 4\u003c\/p\u003e \u003cp\u003ePart VI: Advanced Strokes 5\u003c\/p\u003e \u003cp\u003ePart VII: The Part of Tens 5\u003c\/p\u003e \u003cp\u003eIcons Used in This Book 5\u003c\/p\u003e \u003cp\u003eBeyond the Book 6\u003c\/p\u003e \u003cp\u003eWhere to Go from Here 6\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I: Getting Started with C++ Programming 7\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: What Is a Program? 9\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Does My Son Differ from a Computer? 9\u003c\/p\u003e \u003cp\u003eProgramming a “Human Computer” 11\u003c\/p\u003e \u003cp\u003eCreating the algorithm 11\u003c\/p\u003e \u003cp\u003eSetting the tire-changing language 12\u003c\/p\u003e \u003cp\u003eConstructing the program 13\u003c\/p\u003e \u003cp\u003eComputer processors 17\u003c\/p\u003e \u003cp\u003eComputer Languages 17\u003c\/p\u003e \u003cp\u003eHigh-level languages 19\u003c\/p\u003e \u003cp\u003eThe C++ language 20\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Installing Code::Blocks 21\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eReviewing the Compilation Process 21\u003c\/p\u003e \u003cp\u003eInstalling Code::Blocks 23\u003c\/p\u003e \u003cp\u003eWindows installation 23\u003c\/p\u003e \u003cp\u003eUbuntu Linux installation 26\u003c\/p\u003e \u003cp\u003eMac OS installation 27\u003c\/p\u003e \u003cp\u003eSetting up Code::Blocks 31\u003c\/p\u003e \u003cp\u003eTesting the Code::Blocks Installation 33\u003c\/p\u003e \u003cp\u003eCreating the project 34\u003c\/p\u003e \u003cp\u003eTesting your default project 37\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Writing Your First Program 41\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreating a New Project 41\u003c\/p\u003e \u003cp\u003eFilename extensions 43\u003c\/p\u003e \u003cp\u003eEntering Your Program 44\u003c\/p\u003e \u003cp\u003eBuilding the Program 46\u003c\/p\u003e \u003cp\u003eFinding What Could Go Wrong 47\u003c\/p\u003e \u003cp\u003eMisspelled commands 47\u003c\/p\u003e \u003cp\u003eMissing semicolon 49\u003c\/p\u003e \u003cp\u003eUsing the Online Material 50\u003c\/p\u003e \u003cp\u003eRunning the Program 51\u003c\/p\u003e \u003cp\u003eHow the Program Works 51\u003c\/p\u003e \u003cp\u003eThe template 51\u003c\/p\u003e \u003cp\u003eThe Conversion program 53\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II: Writing a Program: Decisions, Decisions 55\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Integer Expressions 57\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDeclaring Variables 57\u003c\/p\u003e \u003cp\u003eVariable names 58\u003c\/p\u003e \u003cp\u003eAssigning a value to a variable 59\u003c\/p\u003e \u003cp\u003eInitializing a variable at declaration 60\u003c\/p\u003e \u003cp\u003eInteger Constants 61\u003c\/p\u003e \u003cp\u003eExpressions 62\u003c\/p\u003e \u003cp\u003eBinary operators 62\u003c\/p\u003e \u003cp\u003eUnraveling compound expressions 63\u003c\/p\u003e \u003cp\u003eUnary Operators 65\u003c\/p\u003e \u003cp\u003eThe Special Assignment Operators 67\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Character Expressions 69\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDefining Character Variables 69\u003c\/p\u003e \u003cp\u003eEncoding characters 70\u003c\/p\u003e \u003cp\u003eExample of character encoding 73\u003c\/p\u003e \u003cp\u003eEncoding Strings of Characters 75\u003c\/p\u003e \u003cp\u003eSpecial Character Constants 75\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: if I Could Make My Own Decisions 79\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe if Statement 79\u003c\/p\u003e \u003cp\u003eComparison operators 80\u003c\/p\u003e \u003cp\u003eSay “No” to “No braces” 83\u003c\/p\u003e \u003cp\u003eWhat Else Is There? 84\u003c\/p\u003e \u003cp\u003eNesting if Statements 86\u003c\/p\u003e \u003cp\u003eCompound Conditional Expressions 89\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: Switching Paths 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eControlling Flow with the switch Statement 93\u003c\/p\u003e \u003cp\u003eControl Fell Through: Did I break It? 96\u003c\/p\u003e \u003cp\u003eImplementing an Example Calculator with the switch Statement 97\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Debugging Your Programs, Part I 101\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIdentifying Types of Errors 101\u003c\/p\u003e \u003cp\u003eAvoiding Introducing Errors 102\u003c\/p\u003e \u003cp\u003eCoding with style 102\u003c\/p\u003e \u003cp\u003eEstablishing variable naming conventions 103\u003c\/p\u003e \u003cp\u003eFinding the First Error with a Little Help 104\u003c\/p\u003e \u003cp\u003eFinding the Run-Time Error 105\u003c\/p\u003e \u003cp\u003eFormulating test data 106\u003c\/p\u003e \u003cp\u003eExecuting the test cases 106\u003c\/p\u003e \u003cp\u003eSeeing what’s going on in your program 107\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III: Becoming a Procedural Programmer 109\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: while Running in Circles 111\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreating a while Loop 111\u003c\/p\u003e \u003cp\u003eBreaking out of the Middle of a Loop 114\u003c\/p\u003e \u003cp\u003eNested Loops 117\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: Looping for the Fun of It 121\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe for Parts of Every Loop 121\u003c\/p\u003e \u003cp\u003eLooking at an Example 123\u003c\/p\u003e \u003cp\u003eGetting More Done with the Comma Operator 125\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: Functions, I Declare! 129\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBreaking Your Problem Down into Functions 129\u003c\/p\u003e \u003cp\u003eUnderstanding How Functions Are Useful 130\u003c\/p\u003e \u003cp\u003eWriting and Using a Function 131\u003c\/p\u003e \u003cp\u003eReturning things 132\u003c\/p\u003e \u003cp\u003eReviewing an example 133\u003c\/p\u003e \u003cp\u003ePassing Arguments to Functions 135\u003c\/p\u003e \u003cp\u003eFunction with arguments 136\u003c\/p\u003e \u003cp\u003eFunctions with multiple arguments 137\u003c\/p\u003e \u003cp\u003eExposing main() 137\u003c\/p\u003e \u003cp\u003eDefining Function Prototype Declarations 139\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12: Dividing Programs into Modules 141\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBreaking Programs Apart 141\u003c\/p\u003e \u003cp\u003eBreaking Up Isn’t That Hard to Do 142\u003c\/p\u003e \u003cp\u003eCreating Factorialcpp 143\u003c\/p\u003e \u003cp\u003eCreating an #include file 145\u003c\/p\u003e \u003cp\u003eIncluding #include files 146\u003c\/p\u003e \u003cp\u003eCreating maincpp 148\u003c\/p\u003e \u003cp\u003eBuilding the result 149\u003c\/p\u003e \u003cp\u003eUsing the Standard C++ Library 149\u003c\/p\u003e \u003cp\u003eVariable Scope 150\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13: Debugging Your Programs, Par t 2 151\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDebugging a Dys-Functional Program 151\u003c\/p\u003e \u003cp\u003ePerforming unit level testing 153\u003c\/p\u003e \u003cp\u003eOutfitting a function for testing 155\u003c\/p\u003e \u003cp\u003eReturning to unit test 159\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV: Data Structures 163\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14: Other Numerical Variable Types 165\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Limitations of Integers in C++ 165\u003c\/p\u003e \u003cp\u003eInteger round-off 166\u003c\/p\u003e \u003cp\u003eLimited range 166\u003c\/p\u003e \u003cp\u003eA Type That “doubles” as a Real Number 167\u003c\/p\u003e \u003cp\u003eSolving the truncation problem 168\u003c\/p\u003e \u003cp\u003eWhen an integer is not an integer 168\u003c\/p\u003e \u003cp\u003eDiscovering the limits of double 169\u003c\/p\u003e \u003cp\u003eVariable Size — the “long” and “short” of It 172\u003c\/p\u003e \u003cp\u003eHow far do numbers range? 174\u003c\/p\u003e \u003cp\u003eTypes of Constants 175\u003c\/p\u003e \u003cp\u003ePassing Different Types to Functions 176\u003c\/p\u003e \u003cp\u003eOverloading function names 177\u003c\/p\u003e \u003cp\u003eMixed-mode overloading 177\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15: Arrays 181\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is an Array? 181\u003c\/p\u003e \u003cp\u003eDeclaring an Array 182\u003c\/p\u003e \u003cp\u003eIndexing into an Array 183\u003c\/p\u003e \u003cp\u003eLooking at an Example 184\u003c\/p\u003e \u003cp\u003eInitializing an Array 187\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16: Arrays with Character 189\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe ASCII-Zero Character Array 189\u003c\/p\u003e \u003cp\u003eDeclaring and Initializing an ASCIIZ Array 190\u003c\/p\u003e \u003cp\u003eLooking at an Example 191\u003c\/p\u003e \u003cp\u003eLooking at a More Detailed Example 193\u003c\/p\u003e \u003cp\u003eFoiling hackers 197\u003c\/p\u003e \u003cp\u003eDo I Really Have to Do All That Work? 198\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17: Pointing the Way to C++ Pointers 203\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat’s a Pointer? 203\u003c\/p\u003e \u003cp\u003eDeclaring a Pointer 204\u003c\/p\u003e \u003cp\u003ePassing Arguments to a Function 206\u003c\/p\u003e \u003cp\u003ePassing arguments by value 206\u003c\/p\u003e \u003cp\u003ePassing arguments by reference 209\u003c\/p\u003e \u003cp\u003ePutting it together 211\u003c\/p\u003e \u003cp\u003eReference argument types 213\u003c\/p\u003e \u003cp\u003ePlaying with Heaps of Memory 214\u003c\/p\u003e \u003cp\u003eDo you really need a new keyword? 214\u003c\/p\u003e \u003cp\u003eDon’t forget to clean up after yourself 215\u003c\/p\u003e \u003cp\u003eLooking at an example 216\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 18: Taking a Second Look at C++ Pointers 221\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePointers and Arrays 221\u003c\/p\u003e \u003cp\u003eOperations on pointers 222\u003c\/p\u003e \u003cp\u003ePointer addition versus indexing into an array 224\u003c\/p\u003e \u003cp\u003eUsing the pointer increment operator 227\u003c\/p\u003e \u003cp\u003eWhy bother with array pointers? 230\u003c\/p\u003e \u003cp\u003eOperations on Different Pointer Types 231\u003c\/p\u003e \u003cp\u003eConstant Nags 231\u003c\/p\u003e \u003cp\u003eDifferences Between Pointers and Arrays 233\u003c\/p\u003e \u003cp\u003eMy main() Arguments 233\u003c\/p\u003e \u003cp\u003eArrays of pointers 234\u003c\/p\u003e \u003cp\u003eArrays of arguments 235\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 19: Programming with Class 241\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGrouping Data 241\u003c\/p\u003e \u003cp\u003eThe Class 242\u003c\/p\u003e \u003cp\u003eThe Object 243\u003c\/p\u003e \u003cp\u003eArrays of Objects 244\u003c\/p\u003e \u003cp\u003eLooking at an Example 246\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 20: Debugging Your Programs, Par t 3 253\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eA New Approach to Debugging 253\u003c\/p\u003e \u003cp\u003eThe solution 254\u003c\/p\u003e \u003cp\u003eEntomology for Dummies 255\u003c\/p\u003e \u003cp\u003eStarting the debugger 257\u003c\/p\u003e \u003cp\u003eFixing the (first) bug 264\u003c\/p\u003e \u003cp\u003eFinding and fixing the second bug 265\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart V: Object-Oriented Programming 269\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 21: What Is Object-Oriented Programming? 271\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAbstraction and Microwave Ovens 271\u003c\/p\u003e \u003cp\u003eProcedural nachos 273\u003c\/p\u003e \u003cp\u003eObject-oriented nachos 273\u003c\/p\u003e \u003cp\u003eClassification and Microwave Ovens 274\u003c\/p\u003e \u003cp\u003eWhy Build Objects This Way? 275\u003c\/p\u003e \u003cp\u003eSelf-Contained Classes 276\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 22: Structured Play: Making Classes Do Things 277\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eActivating Our Objects 277\u003c\/p\u003e \u003cp\u003eCreating a Member Function 278\u003c\/p\u003e \u003cp\u003eDefining a member function 279\u003c\/p\u003e \u003cp\u003eNaming class members 280\u003c\/p\u003e \u003cp\u003eCalling a member function 281\u003c\/p\u003e \u003cp\u003eAccessing other members from within a member function 282\u003c\/p\u003e \u003cp\u003eKeeping a Member Function after Class 284\u003c\/p\u003e \u003cp\u003eOverloading Member Functions 285\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 23: Pointers to Objects 287\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePointers to Objects 287\u003c\/p\u003e \u003cp\u003eArrow syntax 288\u003c\/p\u003e \u003cp\u003eCalling all member functions 288\u003c\/p\u003e \u003cp\u003ePassing Objects to Functions 289\u003c\/p\u003e \u003cp\u003eCalling a function with an object value 289\u003c\/p\u003e \u003cp\u003eCalling a function with an object pointer 290\u003c\/p\u003e \u003cp\u003eLooking at an example 292\u003c\/p\u003e \u003cp\u003eAllocating Objects off the Heap 296\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 24: Do Not Disturb: Protected Members 299\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eProtecting Members 299\u003c\/p\u003e \u003cp\u003eWhy you need protected members 300\u003c\/p\u003e \u003cp\u003eMaking members protected 301\u003c\/p\u003e \u003cp\u003eSo what? 303\u003c\/p\u003e \u003cp\u003eWho Needs Friends, Anyway? 304\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 25: Getting Objects Off to a Good Start 307\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Constructor 308\u003c\/p\u003e \u003cp\u003eLimitations on constructors 309\u003c\/p\u003e \u003cp\u003eCan I see an example? 310\u003c\/p\u003e \u003cp\u003eConstructing data members 312\u003c\/p\u003e \u003cp\u003eDestructors 315\u003c\/p\u003e \u003cp\u003eLooking at an example 316\u003c\/p\u003e \u003cp\u003eDestructing data members 318\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 26: Making Constructive Arguments 321\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eConstructors with Arguments 321\u003c\/p\u003e \u003cp\u003eLooking at an example 322\u003c\/p\u003e \u003cp\u003eOverloading the Constructor 326\u003c\/p\u003e \u003cp\u003eThe Default default Constructor 330\u003c\/p\u003e \u003cp\u003eConstructing Data Members 332\u003c\/p\u003e \u003cp\u003eInitializing data members with the default constructor 332\u003c\/p\u003e \u003cp\u003eInitializing data members with a different constructor 334\u003c\/p\u003e \u003cp\u003eLooking at an example 337\u003c\/p\u003e \u003cp\u003eNew with C++ 2011 340\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 27: Coping with the Copy Constructor 341\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCopying an Object 341\u003c\/p\u003e \u003cp\u003eThe default copy constructor 342\u003c\/p\u003e \u003cp\u003eLooking at an example 344\u003c\/p\u003e \u003cp\u003eCreating a Copy Constructor 346\u003c\/p\u003e \u003cp\u003eAvoiding Copies 349\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart VI: Advanced Strokes 351\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 28: Inheriting a Class 353\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAdvantages of Inheritance 354\u003c\/p\u003e \u003cp\u003eLearning the lingo 355\u003c\/p\u003e \u003cp\u003eImplementing Inheritance in C++ 355\u003c\/p\u003e \u003cp\u003eLooking at an example 356\u003c\/p\u003e \u003cp\u003eHaving a HAS_A Relationship 360\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 29: Are Virtual Functions for Real? 361\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOverriding Member Functions 361\u003c\/p\u003e \u003cp\u003eEarly binding 362\u003c\/p\u003e \u003cp\u003eAmbiguous case 364\u003c\/p\u003e \u003cp\u003eEnter late binding 366\u003c\/p\u003e \u003cp\u003eWhen Is Virtual Not? 369\u003c\/p\u003e \u003cp\u003eVirtual Considerations 371\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 30: Overloading Assignment Operators 373\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOverloading an Operator 374\u003c\/p\u003e \u003cp\u003eOverloading the Assignment Operator Is Critical 374\u003c\/p\u003e \u003cp\u003eLooking at an Example 376\u003c\/p\u003e \u003cp\u003eWriting Your Own (or Not) 379\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 31: Performing Streaming I\/O 381\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Stream I\/O Works 381\u003c\/p\u003e \u003cp\u003eStream Input\/Output 383\u003c\/p\u003e \u003cp\u003eCreating an input object 383\u003c\/p\u003e \u003cp\u003eCreating an output object 385\u003c\/p\u003e \u003cp\u003eOpen modes 386\u003c\/p\u003e \u003cp\u003eWhat is binary mode? 386\u003c\/p\u003e \u003cp\u003eHey, file, what state are you in? 387\u003c\/p\u003e \u003cp\u003eOther Member Functions of the fstream Classes 391\u003c\/p\u003e \u003cp\u003eReading and writing streams directly 393\u003c\/p\u003e \u003cp\u003eControlling format 396\u003c\/p\u003e \u003cp\u003eWhat’s up with endl? 399\u003c\/p\u003e \u003cp\u003eManipulating Manipulators 399\u003c\/p\u003e \u003cp\u003eUsing the stringstream Classes 400\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 32: I Take Exception! 405\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Exception Mechanism 406\u003c\/p\u003e \u003cp\u003eExamining the exception mechanism in detail 408\u003c\/p\u003e \u003cp\u003eSpecial considerations for throwing 409\u003c\/p\u003e \u003cp\u003eCreating a Custom Exception Class 410\u003c\/p\u003e \u003cp\u003eRestrictions on exception classes 414\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart VII: The Part of Tens 415\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 33: Ten Ways to Avoid Bugs 417\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eEnable All Warnings and Error Messages 417\u003c\/p\u003e \u003cp\u003eAdopt a Clear and Consistent Coding Style 418\u003c\/p\u003e \u003cp\u003eComment the Code While You Write It 419\u003c\/p\u003e \u003cp\u003eSingle-Step Every Path in the Debugger at Least Once 419\u003c\/p\u003e \u003cp\u003eLimit the Visibility 420\u003c\/p\u003e \u003cp\u003eKeep Track of Heap Memory 420\u003c\/p\u003e \u003cp\u003eZero Out Pointers after Deleting What They Point To 421\u003c\/p\u003e \u003cp\u003eUse Exceptions to Handle Errors 421\u003c\/p\u003e \u003cp\u003eDeclare Destructors Virtual 422\u003c\/p\u003e \u003cp\u003eProvide a Copy Constructor and Overloaded Assignment Operator 422\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 34: Ten Features Not Covered in This Book 423\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe goto Command 423\u003c\/p\u003e \u003cp\u003eThe Ternary Operator 424\u003c\/p\u003e \u003cp\u003eBinary Logic 425\u003c\/p\u003e \u003cp\u003eEnumerated Types 425\u003c\/p\u003e \u003cp\u003eNamespaces 425\u003c\/p\u003e \u003cp\u003ePure Virtual Functions 426\u003c\/p\u003e \u003cp\u003eThe string Class 426\u003c\/p\u003e \u003cp\u003eMultiple Inheritance 427\u003c\/p\u003e \u003cp\u003eTemplates and the Standard Template Library 427\u003c\/p\u003e \u003cp\u003eLambda Functions 428\u003c\/p\u003e \u003cp\u003eIndex 429\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eStephen R. Davis\u003c\/b\u003e is the bestselling author of numerous books and articles, including \u003ci\u003eC++ For Dummies\u003c\/i\u003e. He has been programming for over 35 years and currently works for Agency Consulting Group in the area of Cyber Defense.\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e\u003ci\u003eLearn to:\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cul\u003e \u003cli\u003eThink like a programmer and understand how C++ works\u003c\/li\u003e \u003cli\u003eCreate programs and get bugs out of your code\u003c\/li\u003e \u003cli\u003eMaster basic development concepts and techniques in C++\u003c\/li\u003e \u003cli\u003eWork with the Code::Blocks C++ compiler, available online\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003cb\u003eProgramming made easy with the definitive guide to the popular C++ language\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWant to get started with programming but don’t know quite where to begin? This complete guide to learning C++ programming will help you start your journey! Learn to walk the programming walk while figuring out how to use C++, install and use the compiler, work with loops, grasp objects and classes, and write real programs that work.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eLet’s get started — get a complete grasp of what computers need to work, what algorithms are, and how programming languages function\u003c\/li\u003e \u003cli\u003eGet functional — find out how to write simple expressions, declare integer variables, and make decisions within a program\u003c\/li\u003e \u003cli\u003eExterminate — get the bugs out of your programs with an in-depth look at debugging, unit tests, and using predefined preprocessor commands\u003c\/li\u003e \u003cli\u003eTake it one step further — explore more advanced topics on your own, with tips on where to start and how to find more information\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003cb\u003eOpen the book and find:\u003c\/b\u003e\u003c\/p\u003e \u003cul\u003e \u003cli\u003eHow programming languages work\u003c\/li\u003e \u003cli\u003eHow to master basic development concepts in C++\u003c\/li\u003e \u003cli\u003eTips for getting rid of bugs in your code\u003c\/li\u003e \u003cli\u003eHow to work with integer and character expressions\u003c\/li\u003e \u003cli\u003eThe essential parts of control and looping structures\u003c\/li\u003e \u003cli\u003eHow to use constructors and destructors\u003c\/li\u003e \u003cli\u003eHow to build data structures that mimic the real world\u003c\/li\u003e \u003cli\u003eAdvanced language features to ramp up your code\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003cb\u003eVisit the companion website at www.dummies.com\/extras\/beginningprogrammingcplusplus for code from the book and an updated C++ compiler.\u003c\/b\u003e\u003c\/p\u003e","brand":"For Dummies","offers":[{"title":"Default Title","offer_id":47988799504613,"sku":"NP9781118823873","price":34.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781118823873.jpg?v=1761781634","url":"https:\/\/k12savings.com\/products\/beginning-programming-with-c-for-dummies-isbn-9781118823873","provider":"K12savings","version":"1.0","type":"link"}