Big C++: Late Objects, 3rd Edition
- Length: 1004 pages
- Edition: 3
- Language: English
- Publisher: Wiley
- Publication Date: 2017-12-18
- ISBN-10: B078GJ3DYZ
- Sales Rank: #1233009 (See Top 100 Books)
Big C++ Late Object provides an introduction to C++ and computer programming that focuses on the essentials and on effective learning. It is suitable for a two-semester sequence in C++ programming for students in computer science, engineering, technology, and the physical sciences. The Enhanced E-Text requires no prior programming experience and takes a traditional route, first stressing control structures, procedural decomposition and array algorithms. Objects are used where appropriate in early sections of the Enhanced E-Text. Students begin designing and implementing their own classes in Section 9. The second half of the Enhanced E-Text covers algorithms and data structures at a level suitable for beginning students. All Enhanced E-Text sections include many different forms of guidance to help students build confidence and tackle the task at hand, including Self Check and Practice activities along with end-of-section Review Exercises, Practice Exercises and Programming Projects.
Cover Title Page Copyright Preface Contents Chapter 1 Introduction 1.1 What Is Programming? 1.2 The Anatomy of a Computer 1.3 Machine Code and Programming Languages 1.4 Becoming Familiar with YourProgramming Environment 1.5 Analyzing Your First Program 1.6 Errors 1.7 Problem Solving: Algorithm Design 1.7.1 The Algorithm Concept 1.7.2 An Algorithm for Solving an Investment Problem 1.7.3 Pseudocode 1.7.4 From Algorithms to Programs Review Exercises Practice Exercises Programming Projects Chapter 2 Fundamental Data Types 2.1 Variables 2.1.1 Variable Definitions 2.1.2 Number Types 2.1.3 Variable Names 2.1.4 The Assignment Statement 2.1.5 Constants 2.1.6 Comments 2.2 Arithmetic 2.2.1 Arithmetic Operators 2.2.2 Increment and Decrement 2.2.3 Integer Division and Remainder 2.2.4 Converting Floating-Point Numbers to Integers 2.2.5 Powers and Roots 2.3 Input and Output 2.3.1 Input 2.3.2 Formatted Output 2.4 Problem Solving: First Do It By Hand 2.5 Strings 2.5.1 The string Type 2.5.2 Concatenation 2.5.3 String Input 2.5.4 String Functions Review Exercises Practice Exercises Programming Projects Worked Example 2.1 Worked Example 2.2 Chapter 3 Decisions 3.1 The if Statement 3.2 Comparing Numbers and Strings 3.3 Multiple Alternatives 3.4 Nested Branches 3.5 Problem Solving: Flowcharts 3.6 Problem Solving: Test Cases 3.7 Boolean Variables and Operators 3.8 Application: Input Validation Review Exercises Practice Exercises Programming Projects Worked Example 3.1 Chapter 4 Loops 4.1 The while Loop 4.2 Problem Solving: Hand-Tracing 4.3 The for Loop 4.4 The do Loop 4.5 Processing Input 4.5.1 Sentinel Values 4.5.2 Reading Until Input Fails 4.6 Problem Solving: Storyboards 4.7 Common Loop Algorithms 4.7.1 Sum and Average Value 4.7.2 Counting Matches 4.7.3 Finding the First Match 4.7.4 Prompting Until a Match is Found 4.7.5 Maximum and Minimum 4.7.6 Comparing Adjacent Values 4.8 Nested Loops 4.9 Problem Solving: Solve a SimplerProblem First 4.10 Random Numbers and Simulations 4.10.1 Generating Random Numbers 4.10.2 Simulating Die Tosses 4.10.3 The Monte Carlo Method Review Exercises Practice Exercises Programming Projects Worked Example 4.1 Worked Example 4.2 Chapter 5 Functions 5.1 Functions as Black Boxes 5.2 Implementing Functions 5.3 Parameter Passing 5.4 Return Values 5.5 Functions Without Return Values 5.6 Problem Solving: Reusable Functions 5.7 Problem Solving: Stepwise Refinement 5.8 Variable Scope and Global Variables 5.9 Reference Parameters 5.10 Recursive Functions (Optional) Review Exercises Practice Exercises Programming Projects Worked Example 5.1 Worked Example 5.2 Worked Example 5.3 Chapter 6 Arrays and Vectors 6.1 Arrays 6.1.1 Defining Arrays 6.1.2 Accessing Array Elements 6.1.3 Partially Filled Arrays 6.2 Common Array Algorithms 6.2.1 Filling 6.2.2 Copying 6.2.3 Sum and Average Value 6.2.4 Maximum and Minimum 6.2.5 Element Separators 6.2.6 Counting Matches 6.2.7 Linear Search 6.2.8 Removing an Element 6.2.9 Inserting an Element 6.2.10 Swapping Elements 6.2.11 Reading Input 6.3 Arrays and Functions 6.4 Problem Solving: Adapting Algorithms 6.5 Problem Solving: Discovering Algorithms byManipulating Physical Objects 6.6 Two-Dimensional Arrays 6.6.1 Defining Two-Dimensional Arrays 6.6.2 Accessing Elements 6.6.3 Locating Neighboring Elements 6.6.4 Computing Row and Column Totals 6.6.5 Two-Dimensional Array Parameters 6.7 Vectors 6.7.1 Defining Vectors 6.7.2 Growing and Shrinking Vectors 6.7.3 Vectors and Functions 6.7.4 Vector Algorithms 6.7.5 Two-Dimensional Vectors Review Exercises Practice Exercises Programming Projects Worked Example 6.1 Worked Example 6.2 Chapter 7 Pointers and Structures 7.1 Defining and Using Pointers 7.1.1 Defining Pointers 7.1.2 Accessing Variables Through Pointers 7.1.3 Initializing Pointers 7.2 Arrays and Pointers 7.2.1 Arrays as Pointers 7.2.2 Pointer Arithmetic 7.2.3 Array Parameter Variables Are Pointers 7.3 C and C++ Strings 7.3.1 The char Type 7.3.2 C Strings 7.3.3 Character Arrays 7.3.4 Converting Between C and C++ Strings 7.3.5 C++ Strings and the [] Operator 7.4 Dynamic Memory Allocation 7.5 Arrays and Vectors of Pointers 7.6 Problem Solving: Draw a Picture 7.7 Structures 7.7.1 Structured Types 7.7.2 Structure Assignment and Comparison 7.7.3 Functions and Structures 7.7.4 Arrays of Structures 7.7.5 Structures with Array Members 7.7.6 Nested Structures 7.8 Pointers and Structures 7.8.1 Pointers to Structures 7.8.2 Structures with Pointer Members Review Exercises Practice Exercises Programming Projects Worked Example 7.1 Chapter 8 Streams 8.1 Reading and Writing Text Files 8.1.1 Opening a Stream 8.1.2 Reading from a File 8.1.3 Writing to a File 8.1.4 A File Processing Example 8.2 Reading Text Input 8.2.1 Reading Words 8.2.2 Reading Characters 8.2.3 Reading Lines 8.3 Writing Text Output 8.4 Parsing and Formatting Strings 8.5 Command Line Arguments 8.6 Random Access and Binary Files 8.6.1 Random Access 8.6.2 Binary Files 8.6.3 Processing Image Files Review Exercises Practice Exercises Programming Projects Worked Example 8.1 Chapter 9 Classes 9.1 Object-Oriented Programming 9.2 Implementing a Simple Class 9.3 Specifying the Public Interface of a Class 9.4 Designing the Data Representation 9.5 Member Functions 9.5.1 Implementing Member Functions 9.5.2 Implicit and Explicit Parameters 9.5.3 Calling a Member Function from a Member Function 9.6 Constructors 9.7 Problem Solving: Tracing Objects 9.8 Problem Solving: Discovering Classes 9.9 Separate Compilation 9.10 Pointers to Objects 9.10.1 Dynamically Allocating Objects 9.10.2 The -> Operator 9.10.3 The this Pointer 9.11 Problem Solving: Patterns for Object Data 9.11.1 Keeping a Total 9.11.2 Counting Events 9.11.3 Collecting Values 9.11.4 Managing Properties of an Object 9.11.5 Modeling Objects with Distinct States 9.11.6 Describing the Position of an Object Review Exercises Practice Exercises Programming Projects Worked Example 9.1 Chapter 10 Inheritance 10.1 Inheritance Hierarchies 10.2 Implementing Derived Classes 10.3 Overriding Member Functions 10.4 Virtual Functions and Polymorphism 10.4.1 The Slicing Problem 10.4.2 Pointers to Base and Derived Classes 10.4.3 Virtual Functions 10.4.4 Polymorphism Review Exercises Practice Exercises Programming Projects Worked Example 10.1 Chapter 11 Recursion 11.1 Triangle Numbers 11.2 Recursive Helper Functions 11.3 The Efficiency of Recursion 11.4 Permutations 11.5 Mutual Recursion 11.6 Backtracking Review Exercises Practice Exercises Programming Projects Worked Example 11.1 Worked Example 11.2 Chapter 12 Sorting and Searching 12.1 Selection Sort 12.2 Profiling the Selection Sort Algorithm 12.3 Analyzing the Performance of the Selection Sort Algorithm 12.4 Merge Sort 12.5 Analyzing the Merge Sort Algorithm 12.6 Searching 12.6.1 Linear Search 12.6.2 Binary Search 12.7 Problem Solving: Estimating the RunningTime of an Algorithm 12.7.1 Linear Time 12.7.2 Quadratic Time 12.7.3 The Triangle Pattern 12.7.4 Logarithmic Time Review Exercises Practice Exercises Programming Projects Worked Example 12.1 Chapter 13 Advanced C++ 13.1 Operator Overloading 13.1.1 Operator Functions 13.1.2 Overloading Comparison Operators 13.1.3 Input and Output 13.1.4 Operator Members 13.2 Automatic Memory Management 13.2.1 Constructors That Allocate Memory 13.2.2 Destructors 13.2.3 Overloading the Assignment Operator 13.2.4 Copy Constructors 13.3 Templates 13.3.1 Function Templates 13.3.2 Class Templates Review Exercises Practice Exercises Programming Projects Worked Example 13.1 Worked Example 13.2 Chapter 14 Linked Lists, Stacks, and Queues 14.1 Using Linked Lists 14.2 Implementing Linked Lists 14.2.1 The Classes for Lists, Nodes, and Iterators 14.2.2 Implementing Iterators 14.2.3 Implementing Insertion and Removal 14.3 The Efficiency of List, Array, and VectorOperations 14.4 Stacks and Queues 14.5 Implementing Stacks and Queues 14.5.1 Stacks as Linked Lists 14.5.2 Stacks as Arrays 14.5.3 Queues as Linked Lists 14.5.4 Queues as Circular Arrays 14.6 Stack and Queue Applications 14.6.1 Balancing Parentheses 14.6.2 Evaluating Reverse Polish Expressions 14.6.3 Evaluating Algebraic Expressions 14.6.4 Backtracking Review Exercises Practice Exercises Programming Projects Worked Example 14.1 Chapter 15 Sets, Maps, and Hash Tables 15.1 Sets 15.2 Maps 15.3 Implementing a Hash Table 15.3.1 Hash Codes 15.3.2 Hash Tables 15.3.3 Finding an Element 15.3.4 Adding and Removing Elements 15.3.5 Iterating over a Hash Table Review Exercises Practice Exercises Programming Projects Worked Example 15.1 Chapter 16 Tree Structures 16.1 Basic Tree Concepts 16.2 Binary Trees 16.2.1 Binary Tree Examples 16.2.2 Balanced Trees 16.2.3 A Binary Tree Implementation 16.3 Binary Search Trees 16.3.1 The Binary Search Property 16.3.2 Insertion 16.3.3 Removal 16.3.4 Efficiency of the Operations 16.4 Tree Traversal 16.4.1 Inorder Traversal 16.4.2 Preorder and Postorder Traversals 16.4.3 The Visitor Pattern 16.4.4 Depth-First and Breadth-First Search 16.4.5 Tree Iterators 16.5 Red-Black Trees 16.5.1 Basic Properties of Red-Black Trees 16.5.2 Insertion 16.5.3 Removal Review Exercises Practice Exercises Programming Projects Worked Example 16.1 Worked Example 16.2 Chapter 17 Priority Queues and Heaps 17.1 Priority Queues 17.2 Heaps 17.3 The Heapsort Algorithm Review Exercises Practice Exercises Programming Projects Worked Example 17.1 Appendix A Reserved Word Summary Appendix B Operator Summary Appendix C Character Codes Appendix D C++ Library Summary Appendix E C++ Language Coding Guidelines Appendix F Number Systems Glossary Index Credits EULA
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.