{"product_id":"brief-c-9781119739708","title":"Brief C","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cp\u003ePreface v\u003c\/p\u003e \u003cp\u003eSpecial Features xxiv\u003c\/p\u003e \u003cp\u003eQuick Reference xxviii\u003c\/p\u003e \u003cp\u003e\u003cb\u003eIntroduction 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 What is Programming? 2\u003c\/p\u003e \u003cp\u003e1.2 The Anatomy of a Computer 3\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Computers are Everywhere 5\u003c\/p\u003e \u003cp\u003e1.3 Machine Code and Programming Languages 5\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Standards Organizations 7\u003c\/p\u003e \u003cp\u003e1.4 Becoming Familiar with Your Programming Environment 7\u003c\/p\u003e \u003cp\u003ePT 1 Backup Copies 10\u003c\/p\u003e \u003cp\u003e1.5 Analyzing Your First Program 11\u003c\/p\u003e \u003cp\u003eCE 1 Omitting Semicolons 13\u003c\/p\u003e \u003cp\u003eST 1 Escape Sequences 13\u003c\/p\u003e \u003cp\u003e1.6 Errors 14\u003c\/p\u003e \u003cp\u003eCE 2 Misspelling Words 15\u003c\/p\u003e \u003cp\u003e1.7 PROBLEM SOLVING Algorithm Design 16\u003c\/p\u003e \u003cp\u003eThe Algorithm Concept 16\u003c\/p\u003e \u003cp\u003eAn Algorithm for Solving an Investment Problem 17\u003c\/p\u003e \u003cp\u003ePseudocode 18\u003c\/p\u003e \u003cp\u003eFrom Algorithms to Programs 19\u003c\/p\u003e \u003cp\u003eHT 1 Describing an Algorithm with Pseudocode 19\u003c\/p\u003e \u003cp\u003eWE 1 Writing an Algorithm for Tiling a Floor 21\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Fundamental Data Types 25\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Variables 26\u003c\/p\u003e \u003cp\u003eVariable Definitions 26\u003c\/p\u003e \u003cp\u003eNumber Types 28\u003c\/p\u003e \u003cp\u003eVariable Names 29\u003c\/p\u003e \u003cp\u003eThe Assignment Statement 30\u003c\/p\u003e \u003cp\u003eConstants 31\u003c\/p\u003e \u003cp\u003eComments 31\u003c\/p\u003e \u003cp\u003eCE 1 Using Undefined Variables 33\u003c\/p\u003e \u003cp\u003eCE 2 Using Uninitialized Variables 33\u003c\/p\u003e \u003cp\u003ePT 1 Choose Descriptive Variable Names 33\u003c\/p\u003e \u003cp\u003ePT 2 Do Not Use Magic Numbers 34\u003c\/p\u003e \u003cp\u003eST 1 Numeric Types in C++ 34\u003c\/p\u003e \u003cp\u003eST 2 Numeric Ranges and Precisions 35\u003c\/p\u003e \u003cp\u003eST 3 Defining Variables with auto 35\u003c\/p\u003e \u003cp\u003e2.2 Arithmetic 36\u003c\/p\u003e \u003cp\u003eArithmetic Operators 36\u003c\/p\u003e \u003cp\u003eIncrement and Decrement 36\u003c\/p\u003e \u003cp\u003eInteger Division and Remainder 36\u003c\/p\u003e \u003cp\u003eConverting Floating-Point Numbers to Integers 37\u003c\/p\u003e \u003cp\u003ePowers and Roots 38\u003c\/p\u003e \u003cp\u003eCE 3 Unintended Integer Division 39\u003c\/p\u003e \u003cp\u003eCE 4 Unbalanced Parentheses 40\u003c\/p\u003e \u003cp\u003eCE 5 Forgetting Header Files 40\u003c\/p\u003e \u003cp\u003eCE 6 Roundoff Errors 41\u003c\/p\u003e \u003cp\u003ePT 3 Spaces in Expressions 42\u003c\/p\u003e \u003cp\u003eST 4 Casts 42\u003c\/p\u003e \u003cp\u003eST 5 Combining Assignment and Arithmetic 42\u003c\/p\u003e \u003cp\u003eC\u0026amp;S The Pentium Floating-Point Bug 43\u003c\/p\u003e \u003cp\u003e2.3 Input and Output 44\u003c\/p\u003e \u003cp\u003eInput 44\u003c\/p\u003e \u003cp\u003eFormatted Output 45\u003c\/p\u003e \u003cp\u003e2.4 PROBLEM SOLVING First Do It By Hand 47\u003c\/p\u003e \u003cp\u003eWE 1 Computing Travel Time 48\u003c\/p\u003e \u003cp\u003eHT 1 Carrying out Computations 48\u003c\/p\u003e \u003cp\u003eWE 2 Computing the Cost of Stamps 51\u003c\/p\u003e \u003cp\u003e2.5 Strings 51\u003c\/p\u003e \u003cp\u003eThe string Type 51\u003c\/p\u003e \u003cp\u003eConcatenation 52\u003c\/p\u003e \u003cp\u003eString Input 52\u003c\/p\u003e \u003cp\u003eString Functions 52\u003c\/p\u003e \u003cp\u003eC\u0026amp;S International Alphabets and Unicode 55\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Decisions 59\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 The if Statement 60\u003c\/p\u003e \u003cp\u003eCE 1 A Semicolon After the if Condition 63\u003c\/p\u003e \u003cp\u003ePT 1 Brace Layout 63\u003c\/p\u003e \u003cp\u003ePT 2 Always Use Braces 64\u003c\/p\u003e \u003cp\u003ePT 3 Tabs 64\u003c\/p\u003e \u003cp\u003ePT 4 Avoid Duplication in Branches 65\u003c\/p\u003e \u003cp\u003eST 1 The Conditional Operator 65\u003c\/p\u003e \u003cp\u003e3.2 Comparing Numbers and Strings 66\u003c\/p\u003e \u003cp\u003eCE 2 Confusing = and == 68\u003c\/p\u003e \u003cp\u003eCE 3 Exact Comparison of Floating-Point Numbers 68\u003c\/p\u003e \u003cp\u003ePT 5 Compile with Zero Warnings 69\u003c\/p\u003e \u003cp\u003eST 2 Lexicographic Ordering of Strings 69\u003c\/p\u003e \u003cp\u003eHT 1 Implementing an if Statement 70\u003c\/p\u003e \u003cp\u003eWE 1 Extracting the Middle 72\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Dysfunctional Computerized Systems 72\u003c\/p\u003e \u003cp\u003e3.3 Multiple Alternatives 73\u003c\/p\u003e \u003cp\u003eST 3 The switch Statement 75\u003c\/p\u003e \u003cp\u003e3.4 Nested Branches 76\u003c\/p\u003e \u003cp\u003eCE 4 The Dangling else Problem 79\u003c\/p\u003e \u003cp\u003ePT 6 Hand-Tracing 79\u003c\/p\u003e \u003cp\u003e3.5 PROBLEM SOLVING Flowcharts 81\u003c\/p\u003e \u003cp\u003e3.6 PROBLEM SOLVING Test Cases 83\u003c\/p\u003e \u003cp\u003ePT 7 Make a Schedule and Make Time for Unexpected Problems 84\u003c\/p\u003e \u003cp\u003e3.7 Boolean Variables and Operators 85\u003c\/p\u003e \u003cp\u003eCE 5 Combining Multiple Relational Operators 88\u003c\/p\u003e \u003cp\u003eCE 6 Confusing \u0026amp;\u0026amp; and || Conditions 88\u003c\/p\u003e \u003cp\u003eST 4 Short-Circuit Evaluation of Boolean Operators 89\u003c\/p\u003e \u003cp\u003eST 5 De Morgan’s Law 89\u003c\/p\u003e \u003cp\u003e3.8 APPLICATION Input Validation 90\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Artificial Intelligence 92\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Loops 95\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 The while Loop 96\u003c\/p\u003e \u003cp\u003eCE 1 Infinite Loops 100\u003c\/p\u003e \u003cp\u003eCE 2 Don’t Think “are We There Yet?” 101\u003c\/p\u003e \u003cp\u003eCE 3 Off-by-One Errors 101\u003c\/p\u003e \u003cp\u003eC\u0026amp;S The First Bug 102\u003c\/p\u003e \u003cp\u003e4.2 PROBLEM SOLVING Hand-Tracing 103\u003c\/p\u003e \u003cp\u003e4.3 The for Loop 106\u003c\/p\u003e \u003cp\u003ePT 1 Use for Loops for Their Intended Purpose Only 109\u003c\/p\u003e \u003cp\u003ePT 2 Choose Loop Bounds That Match Your Task 110\u003c\/p\u003e \u003cp\u003ePT 3 Count Iterations 110\u003c\/p\u003e \u003cp\u003e4.4 The do Loop 111\u003c\/p\u003e \u003cp\u003ePT 4 Flowcharts for Loops 111\u003c\/p\u003e \u003cp\u003e4.5 Processing Input 112\u003c\/p\u003e \u003cp\u003eSentinel Values 112\u003c\/p\u003e \u003cp\u003eReading Until Input Fails 114\u003c\/p\u003e \u003cp\u003eST 1 Clearing the Failure State 115\u003c\/p\u003e \u003cp\u003eST 2 The Loop-and-a-Half Problem and the break Statement 116\u003c\/p\u003e \u003cp\u003eST 3 Redirection of Input and Output 116\u003c\/p\u003e \u003cp\u003e4.6 PROBLEM SOLVING Storyboards 117\u003c\/p\u003e \u003cp\u003e4.7 Common Loop Algorithms 119\u003c\/p\u003e \u003cp\u003eSum and Average Value 119\u003c\/p\u003e \u003cp\u003eCounting Matches 120\u003c\/p\u003e \u003cp\u003eFinding the First Match 120\u003c\/p\u003e \u003cp\u003ePrompting Until a Match is Found 121\u003c\/p\u003e \u003cp\u003eMaximum and Minimum 121\u003c\/p\u003e \u003cp\u003eComparing Adjacent Values 122\u003c\/p\u003e \u003cp\u003eHT 1 Writing a Loop 123\u003c\/p\u003e \u003cp\u003eWE 1 Credit Card Processing 126\u003c\/p\u003e \u003cp\u003e4.8 Nested Loops 126\u003c\/p\u003e \u003cp\u003eWE 2 Manipulating the Pixels in an Image 129\u003c\/p\u003e \u003cp\u003e4.9 PROBLEM SOLVING Solve a Simpler Problem First 130\u003c\/p\u003e \u003cp\u003e4.10 Random Numbers and Simulations 134\u003c\/p\u003e \u003cp\u003eGenerating Random Numbers 134\u003c\/p\u003e \u003cp\u003eSimulating Die Tosses 135\u003c\/p\u003e \u003cp\u003eThe Monte Carlo Method 136\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Digital Piracy 138\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Functions 141\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Functions as Black Boxes 142\u003c\/p\u003e \u003cp\u003e5.2 Implementing Functions 143\u003c\/p\u003e \u003cp\u003ePT 1 Function Comments 146\u003c\/p\u003e \u003cp\u003e5.3 Parameter Passing 146\u003c\/p\u003e \u003cp\u003ePT 2 Do Not Modify Parameter Variables 148\u003c\/p\u003e \u003cp\u003e5.4 Return Values 148\u003c\/p\u003e \u003cp\u003eCE 1 Missing Return Value 149\u003c\/p\u003e \u003cp\u003eST 1 Function Declarations 150\u003c\/p\u003e \u003cp\u003eHT 1 Implementing a Function 151\u003c\/p\u003e \u003cp\u003eWE 1 Generating Random Passwords 152\u003c\/p\u003e \u003cp\u003eWE 2 Using a Debugger 152\u003c\/p\u003e \u003cp\u003e5.5 Functions Without Return Values 153\u003c\/p\u003e \u003cp\u003e5.6 PROBLEM SOLVING Reusable Functions 154\u003c\/p\u003e \u003cp\u003e5.7 PROBLEM SOLVING Stepwise Refinement 156\u003c\/p\u003e \u003cp\u003ePT 3 Keep Functions Short 161\u003c\/p\u003e \u003cp\u003ePT 4 Tracing Functions 161\u003c\/p\u003e \u003cp\u003ePT 5 Stubs 162\u003c\/p\u003e \u003cp\u003eWE 3 Calculating a Course Grade 163\u003c\/p\u003e \u003cp\u003e5.8 Variable Scope and Global Variables 163\u003c\/p\u003e \u003cp\u003ePT 6 Avoid Global Variables 165\u003c\/p\u003e \u003cp\u003e5.9 Reference Parameters 165\u003c\/p\u003e \u003cp\u003ePT 7 Prefer Return Values to Reference Parameters 169\u003c\/p\u003e \u003cp\u003eST 2 Constant References 170\u003c\/p\u003e \u003cp\u003e5.10 Recursive Functions (Optional) 170\u003c\/p\u003e \u003cp\u003eHT 2 Thinking Recursively 173\u003c\/p\u003e \u003cp\u003eC\u0026amp;S The Explosive Growth of Personal Computers 174\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Arrays and Vectors 179\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Arrays \u003cb\u003e180\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDefining Arrays 180\u003c\/p\u003e \u003cp\u003eAccessing Array Elements 182\u003c\/p\u003e \u003cp\u003ePartially Filled Arrays 183\u003c\/p\u003e \u003cp\u003eCE 1 Bounds Errors 184\u003c\/p\u003e \u003cp\u003ePT 1 Use Arrays for Sequences of Related Values 184\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Computer Viruses 185\u003c\/p\u003e \u003cp\u003e6.2 Common Array Algorithms 185\u003c\/p\u003e \u003cp\u003eFilling 186\u003c\/p\u003e \u003cp\u003eCopying 186\u003c\/p\u003e \u003cp\u003eSum and Average Value 186\u003c\/p\u003e \u003cp\u003eMaximum and Minimum 187\u003c\/p\u003e \u003cp\u003eElement Separators 187\u003c\/p\u003e \u003cp\u003eCounting Matches 187\u003c\/p\u003e \u003cp\u003eLinear Search 188\u003c\/p\u003e \u003cp\u003eRemoving an Element 188\u003c\/p\u003e \u003cp\u003eInserting an Element 189\u003c\/p\u003e \u003cp\u003eSwapping Elements 190\u003c\/p\u003e \u003cp\u003eReading Input 191\u003c\/p\u003e \u003cp\u003eST 1 Sorting with the C++ Library 192\u003c\/p\u003e \u003cp\u003eST 2 A Sorting Algorithm 192\u003c\/p\u003e \u003cp\u003eST 3 Binary Search 193\u003c\/p\u003e \u003cp\u003e6.3 Arrays and Functions 194\u003c\/p\u003e \u003cp\u003eST 4 Constant Array Parameters 198\u003c\/p\u003e \u003cp\u003e6.4 PROBLEM SOLVING Adapting Algorithms 198\u003c\/p\u003e \u003cp\u003eHT 1 Working with Arrays 200\u003c\/p\u003e \u003cp\u003eWE 1 Rolling the Dice 203\u003c\/p\u003e \u003cp\u003e6.5 PROBLEM SOLVING Discovering Algorithms by Manipulating Physical Objects 203\u003c\/p\u003e \u003cp\u003e6.6 Two-Dimensional Arrays 206\u003c\/p\u003e \u003cp\u003eDefining Two-Dimensional Arrays 207\u003c\/p\u003e \u003cp\u003eAccessing Elements 207\u003c\/p\u003e \u003cp\u003eLocating Neighboring Elements 208\u003c\/p\u003e \u003cp\u003eComputing Row and Column Totals 208\u003c\/p\u003e \u003cp\u003eTwo-Dimensional Array Parameters 210\u003c\/p\u003e \u003cp\u003eCE 2 Omitting the Column Size of a Two-Dimensional Array Parameter 212\u003c\/p\u003e \u003cp\u003eWE 2 A World Population Table 213\u003c\/p\u003e \u003cp\u003e6.7 Vectors 213\u003c\/p\u003e \u003cp\u003eDefining Vectors 214\u003c\/p\u003e \u003cp\u003eGrowing and Shrinking Vectors 215\u003c\/p\u003e \u003cp\u003eVectors and Functions 216\u003c\/p\u003e \u003cp\u003eVector Algorithms 216\u003c\/p\u003e \u003cp\u003eTwo-Dimensional Vectors 218\u003c\/p\u003e \u003cp\u003ePT 2 Prefer Vectors over Arrays 219\u003c\/p\u003e \u003cp\u003eST 5 The Range-Based for Loop 219\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Pointers and Structures 223\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Defining and Using Pointers 224\u003c\/p\u003e \u003cp\u003eDefining Pointers 224\u003c\/p\u003e \u003cp\u003eAccessing Variables Through Pointers 225\u003c\/p\u003e \u003cp\u003eInitializing Pointers 227\u003c\/p\u003e \u003cp\u003eCE 1 Confusing Pointers with the Data to Which They Point 228\u003c\/p\u003e \u003cp\u003ePT 1 Use a Separate Definition for Each Pointer Variable 229\u003c\/p\u003e \u003cp\u003eST 1 Pointers and References 229\u003c\/p\u003e \u003cp\u003e7.2 Arrays and Pointers 230\u003c\/p\u003e \u003cp\u003eArrays as Pointers 230\u003c\/p\u003e \u003cp\u003ePointer Arithmetic 230\u003c\/p\u003e \u003cp\u003eArray Parameter Variables are Pointers 232\u003c\/p\u003e \u003cp\u003eST 2 Using a Pointer to Step Through an Array 233\u003c\/p\u003e \u003cp\u003eCE 2 Returning a Pointer to a Local Variable 234\u003c\/p\u003e \u003cp\u003ePT 2 Program Clearly, Not Cleverly 234\u003c\/p\u003e \u003cp\u003eST 3 Constant Pointers 235\u003c\/p\u003e \u003cp\u003e7.3 C and C++ Strings 235\u003c\/p\u003e \u003cp\u003eThe char Type 235\u003c\/p\u003e \u003cp\u003eC Strings 236\u003c\/p\u003e \u003cp\u003eCharacter Arrays 237\u003c\/p\u003e \u003cp\u003eConverting Between C and C++ Strings 237\u003c\/p\u003e \u003cp\u003eC++ Strings and the [] Operator 238\u003c\/p\u003e \u003cp\u003eST 4 Working with C Strings 238\u003c\/p\u003e \u003cp\u003e7.4 Dynamic Memory Allocation 240\u003c\/p\u003e \u003cp\u003eCE 3 Dangling Pointers 242\u003c\/p\u003e \u003cp\u003eCE 4 Memory Leaks 243\u003c\/p\u003e \u003cp\u003e7.5 Arrays and Vectors of Pointers 243\u003c\/p\u003e \u003cp\u003e7.6 PROBLEM SOLVING Draw a Picture 246\u003c\/p\u003e \u003cp\u003eHT 1 Working with Pointers 248\u003c\/p\u003e \u003cp\u003eWE 1 Producing a Mass Mailing 249\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Embedded Systems 250\u003c\/p\u003e \u003cp\u003e7.7 Structures 250\u003c\/p\u003e \u003cp\u003eStructured Types 250\u003c\/p\u003e \u003cp\u003eStructure Assignment and Comparison 251\u003c\/p\u003e \u003cp\u003eFunctions and Structures 252\u003c\/p\u003e \u003cp\u003eArrays of Structures 252\u003c\/p\u003e \u003cp\u003eStructures with Array Members 253\u003c\/p\u003e \u003cp\u003eNested Structures 253\u003c\/p\u003e \u003cp\u003e7.8 Pointers and Structures 254\u003c\/p\u003e \u003cp\u003ePointers to Structures 254\u003c\/p\u003e \u003cp\u003eStructures with Pointer Members 255\u003c\/p\u003e \u003cp\u003eST 5 Smart Pointers 256\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Streams 259\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Reading and Writing Text Files 260\u003c\/p\u003e \u003cp\u003eOpening a Stream 260\u003c\/p\u003e \u003cp\u003eReading from a File 261\u003c\/p\u003e \u003cp\u003eWriting to a File 262\u003c\/p\u003e \u003cp\u003eA File Processing Example 262\u003c\/p\u003e \u003cp\u003e8.2 Reading Text Input 265\u003c\/p\u003e \u003cp\u003eReading Words 265\u003c\/p\u003e \u003cp\u003eReading Characters 266\u003c\/p\u003e \u003cp\u003eReading Lines 267\u003c\/p\u003e \u003cp\u003eCE 1 Mixing \u0026gt;\u0026gt; and getline Input 268\u003c\/p\u003e \u003cp\u003eST 1 Stream Failure Checking 269\u003c\/p\u003e \u003cp\u003e8.3 Writing Text Output 270\u003c\/p\u003e \u003cp\u003eST 2 Unicode, UTF-8, and C++ Strings 272\u003c\/p\u003e \u003cp\u003e8.4 Parsing and Formatting Strings 273\u003c\/p\u003e \u003cp\u003e8.5 Command Line Arguments 274\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Encryption Algorithms 277\u003c\/p\u003e \u003cp\u003eHT 1 Processing Text Files 278\u003c\/p\u003e \u003cp\u003eWE 1 Looking for for Duplicates 281\u003c\/p\u003e \u003cp\u003e8.6 Random Access and Binary Files 281\u003c\/p\u003e \u003cp\u003eRandom Access 281\u003c\/p\u003e \u003cp\u003eBinary Files 282\u003c\/p\u003e \u003cp\u003eProcessing Image Files 282\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Databases and Privacy 286\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Classes 289\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Object-Oriented Programming 290\u003c\/p\u003e \u003cp\u003e9.2 Implementing a Simple Class 292\u003c\/p\u003e \u003cp\u003e9.3 Specifying the Public Interface of a Class 294\u003c\/p\u003e \u003cp\u003eCE 1 Forgetting a Semicolon 296\u003c\/p\u003e \u003cp\u003e9.4 Designing the Data Representation 297\u003c\/p\u003e \u003cp\u003e9.5 Member Functions 299\u003c\/p\u003e \u003cp\u003eImplementing Member Functions 299\u003c\/p\u003e \u003cp\u003eImplicit and Explicit Parameters 299\u003c\/p\u003e \u003cp\u003eCalling a Member Function from a Member Function 301\u003c\/p\u003e \u003cp\u003ePT 1 All Data Members Should Be Private; Most Member Functions Should Be Public 303\u003c\/p\u003e \u003cp\u003ePT 2 const Correctness 303\u003c\/p\u003e \u003cp\u003e9.6 Constructors 304\u003c\/p\u003e \u003cp\u003eCE 2 Trying to Call a Constructor 306\u003c\/p\u003e \u003cp\u003eST 1 Overloading 306\u003c\/p\u003e \u003cp\u003eST 2 Initializer Lists 307\u003c\/p\u003e \u003cp\u003eST 3 Universal and Uniform Initialization Syntax 308\u003c\/p\u003e \u003cp\u003e9.7 PROBLEM SOLVING Tracing Objects 308\u003c\/p\u003e \u003cp\u003eHT 1 Implementing a Class 310\u003c\/p\u003e \u003cp\u003eWE 1 Implementing a Bank Account Class 314\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Electronic Voting Machines 314\u003c\/p\u003e \u003cp\u003e9.8 PROBLEM SOLVING Discovering Classes 315\u003c\/p\u003e \u003cp\u003ePT 3 Make Parallel Vectors into Vectors of Objects 317\u003c\/p\u003e \u003cp\u003e9.9 Separate Compilation 318\u003c\/p\u003e \u003cp\u003e9.10 Pointers to Objects 322\u003c\/p\u003e \u003cp\u003eDynamically Allocating Objects 322\u003c\/p\u003e \u003cp\u003eThe -\u0026gt; Operator 323\u003c\/p\u003e \u003cp\u003eThe this Pointer 324\u003c\/p\u003e \u003cp\u003e9.11 PROBLEM SOLVING Patterns for Object Data 324\u003c\/p\u003e \u003cp\u003eKeeping a Total 324\u003c\/p\u003e \u003cp\u003eCounting Events 325\u003c\/p\u003e \u003cp\u003eCollecting Values 326\u003c\/p\u003e \u003cp\u003eManaging Properties of an Object 326\u003c\/p\u003e \u003cp\u003eModeling Objects with Distinct States 327\u003c\/p\u003e \u003cp\u003eDescribing the Position of an Object 328\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Open Source and Free Software 329\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Inheritance 333\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Inheritance Hierarchies 334\u003c\/p\u003e \u003cp\u003e10.2 Implementing Derived Classes 338\u003c\/p\u003e \u003cp\u003eCE 1 Private Inheritance 341\u003c\/p\u003e \u003cp\u003eCE 2 Replicating Base-Class Members 341\u003c\/p\u003e \u003cp\u003ePT 1 Use a Single Class for Variation in Values, Inheritance for Variation in Behavior 342\u003c\/p\u003e \u003cp\u003eST 1 Calling the Base-Class Constructor 342\u003c\/p\u003e \u003cp\u003e10.3 Overriding Member Functions 343\u003c\/p\u003e \u003cp\u003eCE 3 Forgetting the Base-Class Name 345\u003c\/p\u003e \u003cp\u003e10.4 Virtual Functions and Polymorphism 346\u003c\/p\u003e \u003cp\u003eThe Slicing Problem 346\u003c\/p\u003e \u003cp\u003ePointers to Base and Derived Classes 347\u003c\/p\u003e \u003cp\u003eVirtual Functions 348\u003c\/p\u003e \u003cp\u003ePolymorphism 349\u003c\/p\u003e \u003cp\u003ePT 2 Don’t Use Type Tags 352\u003c\/p\u003e \u003cp\u003eCE 4 Slicing an Object 352\u003c\/p\u003e \u003cp\u003eCE 5 Failing to Override a Virtual Function 353\u003c\/p\u003e \u003cp\u003eST 2 Virtual Self-Calls 354\u003c\/p\u003e \u003cp\u003eHT 1 Developing an Inheritance Hierarchy 354\u003c\/p\u003e \u003cp\u003eWE 1 Implementing an Employee Hierarchy for Payroll Processing 359\u003c\/p\u003e \u003cp\u003eC\u0026amp;S Who Controls the Internet? 360\u003c\/p\u003e","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":49528863097175,"sku":"9781119739708","price":128.66,"currency_code":"GBP","in_stock":true}],"url":"https:\/\/bookcurl.com\/products\/brief-c-9781119739708","provider":"Book Curl","version":"1.0","type":"link"}