did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780131857582

Small C++ How to Program

by
  • ISBN13:

    9780131857582

  • ISBN10:

    0131857584

  • Edition: 5th
  • Format: Paperback
  • Copyright: 2005-01-01
  • Publisher: Prentice Hall
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $124.00

Summary

This new, briefer edition ofC++ How to Programfollows all the extensive updates made toC++ How to Program, Fifth Editionand offers readers a concise, introduction to the basics of object-oriented programming in C++.Small C++ features an early object and classes approach and covers the basics of object-oriented programming including classes, objects, encapsulation, inheritance and polymorphism. Provides complete programming exercises along with numerous tips, recommended practices and cautions (all marked with icons) for writing code that is portable, reusable and optimized for performance. The accompanying CD-ROM includes all the source code from the book.A useful brief reference for programmers or anyone who wants to learn more about the C++ programming language.

Table of Contents

Preface xvii
Before You Begin xliii
1 Introduction to Computers, the Internet and World Wide Web
1(35)
1.1 Introduction
2(1)
1.2 What Is a Computer?
3(1)
1.3 Computer Organization
4(1)
1.4 Early Operating Systems
5(1)
1.5 Personal, Distributed and Client/Server Computing
5(1)
1.6 The Internet and the World Wide Web
6(1)
1.7 Machine Languages, Assembly Languages and High-Level Languages
6(2)
1.8 History of C and C++
8(1)
1.9 C++ Standard Library
8(1)
1.10 History of Java
9(1)
1.11 FORTRAN, COBOL, Pascal and Ada
10(1)
1.12 Basic, Visual Basic, Visual C++, C# and .NET
11(1)
1.13 Key Software Trend: Object Technology
11(1)
1.14 Typical C++ Development Environment
12(3)
1.15 Notes About C++ and Small C++ How to Program, 5/e
15(1)
1.16 Test-Driving a C++ Application
16(6)
1.17 Introduction to Object Technology and the UML
22(5)
1.18 Wrap-Up
27(1)
1.19 Web Resources
28(8)
2 Introduction to C++ Programming
36(29)
2.1 Introduction
37(1)
2.2 First Program in C++: Printing a Line of Text
37(4)
2.3 Modifying Our First C++ Program
41(1)
2.4 Another C++ Program: Adding Integers
42(4)
2.5 Memory Concepts
46(2)
2.6 Arithmetic
48(3)
2.7 Decision Making: Equality and Relational Operators
51(5)
2.8 Wrap-Up
56(9)
3 Introduction to Classes and Objects
65(43)
3.1 Introduction
66(1)
3.2 Classes, Objects, Member Functions and Data Members
66(2)
3.3 Overview of the Chapter Examples
68(1)
3.4 Defining a Class with a Member Function
68(4)
3.5 Defining a Member Function with a Parameter
72(3)
3.6 Data Members, set Functions and get Functions
75(7)
3.7 Initializing Objects with Constructors
82(4)
3.8 Placing a Class in a Separate File for Reusability
86(4)
3.9 Separating Interface from Implementation
90(6)
3.10 Validating Data with set Functions
96(5)
3.11 Wrap-Up
101(7)
4 Control Statements: Part 1
108(56)
4.1 Introduction
109(1)
4.2 Algorithms
109(1)
4.3 Pseudocode
110(1)
4.4 Control Structures
111(4)
4.5 if Selection Statement
115(1)
4.6 if...else Double-Selection Statement
116(5)
4.7 while Repetition Statement
121(2)
4.8 Formulating Algorithms: Counter-Controlled Repetition
123(6)
4.9 Formulating Algorithms: Sentinel-Controlled Repetition
129(11)
4.10 Formulating Algorithms: Nested Control Statements
140(5)
4.11 Assignment Operators
145(1)
4.12 Increment and Decrement Operators
145(4)
4.13 Wrap-Up
149(15)
5 Control Statements: Part 2
164(47)
5.1 Introduction
165(1)
5.2 Essentials of Counter-Controlled Repetition
165(2)
5.3 for Repetition Statement
167(5)
5.4 Examples Using the for Statement
172(4)
5.5 do...whi1e Repetition Statement
176(2)
5.6 switch Multiple-Selection Statement
178(10)
5.7 break and continue Statements
188(2)
5.8 Logical Operators
190(5)
5.9 Confusing Equality (==) and Assignment (=) Operators
195(1)
5.10 Structured Programming Summary
196(5)
5.11 Wrap-Up
201(10)
6 Functions and an introduction to Recursion
211(81)
6.1 Introduction
212(1)
6.2 Program Components in C.++
213(1)
6.3 Math Library Functions
214(2)
6.4 Function Definitions with Multiple Parameters
216(5)
6.5 Function Prototypes and Argument Coercion
221(2)
6.6 C++ Standard Library Header Files
223(2)
6.7 Case Study: Random Number Generation
225(6)
6.8 Case Study: Game of Chance and Introducing enum
231(4)
6.9 Storage Classes
235(3)
6.10 Scope Rules
238(3)
6.11 Function Call Stack and Activation Records
241(4)
6.12 Functions with Empty Parameter Lists
245(1)
6.13 Inline Functions
246(2)
6.14 References and Reference Parameters
248(5)
6.15 Default Arguments
253(2)
6.16 Unary Scope Resolution Operator
255(1)
6.17 Function Overloading
256(3)
6.18 Function Templates
259(2)
6.19 Recursion
261(4)
6.20 Example Using Recursion: Fibonacci Series
265(3)
6.21 Recursion vs. Iteration
268(3)
6.22 Wrap-Up
271(21)
7 Arrays and Vectors
292
7.1 Introduction
293(1)
7.2 Arrays
294(1)
7.3 Declaring Arrays
295(1)
7.4 Examples Using Arrays
296(16)
7.5 Passing Arrays to Functions
312(5)
7.6 Case Study: Class GradeBook Using an Array to Store Grades
317(7)
7.7 Searching Arrays with Linear Search
324(1)
7.8 Sorting Arrays with Insertion Sort
325(3)
7.9 Multidimensional Arrays
328(3)
7.10 Case Study: Class GradeBook Using a Two-Dimensional Array
331(7)
7.11 Introduction to C++ Standard Library Class Template vector
338(5)
7.12 Wrap-Up
343
8 Pointers and Pointer-Based Strings
36(403)
8.1 Introduction
361(1)
8.2 Pointer Variable Declarations and Initialization
362(1)
8.3 Pointer Operators
363(3)
8.4 Passing Arguments to Functions by Reference with Pointers
366(4)
8.5 Using const with Pointers
370(7)
8.6 Selection Sort Using Pass-by-Reference
377(3)
8.7 sizeof Operators
380(3)
8.8 Pointer Expressions and Pointer Arithmetic
383(3)
8.9 Relationship Between Pointers and Arrays
386(4)
8.10 Arrays of Pointers
390(1)
8.11 Case Study: Card Shuffling and Dealing Simulation
391(6)
8.12 Function Pointers
397(5)
8.13 Introduction to Pointer-Based String Processing
402(11)
8.13.1 Fundamentals of Characters and Pointer-Based Strings
403(2)
8.13.2 String Manipulation Functions of the String-Handling Library
405(8)
8.14 Wrap-Up
413(26)
9 Classes: A Deeper Look, Part 1
439(35)
9.1 Introduction
440(1)
9.2 Ti me Class Case Study
441(5)
9.3 Class Scope and Accessing Class Members
446(2)
9.4 Separating Interface from Implementation
448(2)
9.5 Access Functions and Utility Functions
450(2)
9.6 Time Class Case Study: Constructors with Default Arguments
452(6)
9.7 Destructors
458(1)
9.8 When Constructors and Destructors Are Called
459(3)
9.9 Time Class Case Study: Subtle Trap-Returning a Reference to a private Data Member
462(3)
9.10 Default Memberwise Assignment
465(2)
9.11 Software Reusability
467(1)
9.12 Wrap-Up
468(6)
10 Classes: A Deeper Look, Part 474(48)
10.1 Introduction
475(1)
10.2 const (Constant) Objects and const Member Functions
475(10)
10.3 Composition: Objects as Members of Classes
485(7)
10.4 friend Functions and friend Classes
492(4)
10.5 Using the this Pointer
496(5)
10.6 Dynamic Memory Management with Operators new and delete
501(2)
10.7 static Class Members
503(6)
10.8 Data Abstraction and Information Hiding
509(3)
10.8.1 Example: Array Abstract Data Type
510(1)
10.8.2 Example: String Abstract Data Type
511(1)
10.8.3 Example: Queue Abstract Data Type
511(1)
10.9 Container Classes and Iterators
512(1)
10.10 Proxy Classes
513(3)
10.11 Wrap-Up
516(6)
11 Operator Overloading; String and Array Objects 522(62)
11.1 Introduction
523(1)
11.2 Fundamentals of Operator Overloading
524(1)
11.3 Restrictions on Operator Overloading
525(2)
11.4 Operator Functions as Class Members vs. Global Functions
527(1)
11.5 Overloading Stream Insertion and Stream Extraction Operators
528(4)
11.6 Overloading Unary Operators
532(1)
11.7 Overloading Binary Operators
532(1)
11.8 Case Study: Array Class
533(12)
11.9 Converting between Types
545(1)
11.10 Case Study: String Class
546(12)
11.11 Overloading ++ and --
558(2)
11.12 Case Study: A Date Class
560(4)
11.13 Standard Library Class string
564(4)
11.14 explicit Constructors
568(4)
11.15 Wrap-Up
572(12)
12 Object-Oriented Programming: Inheritance 584(53)
12.1 Introduction
585(1)
12.2 Base Classes and Derived Classes
586(3)
12.3 protected Members
589(1)
12.4 Relationship between Base Classes and Derived Classes
589(32)
12.4.1 Creating and Using a CommissionEmployee Class
590(5)
12.4.2 Creating a BasePlusCommissionEmployeeClass Without Using Inheritance
595(6)
12.4.3 Creating a Commi ssi onEmployee-BasePlusCommissionEmployee Inheritance Hierarchy
601(5)
12.4.4 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using protected Data
606(7)
12.4.5 Commission Employee-BasePlusCommissionEmployee Inheritance Hierarchy Using private Data
613(8)
12.5 Constructors and Destructors in Derived Classes
621(8)
12.6 public, protected and private Inheritance
629(1)
12.7 Software Engineering with Inheritance
629(2)
12.8 Wrap-Up
631(6)
13 Object-Oriented Programming: Polymorphism 637(55)
13.1 Introduction
638(2)
13.2 Polymorphism Examples
640(1)
13.3 Relationships Among Objects in an Inheritance Hierarchy
641(17)
13.3.1 Invoking Base-Class Functions from Derived-Class Objects
641(8)
13.3.2 Aiming Derived-Class Pointers at Base-Class Objects
649(1)
13.3.3 Derived-Class Member-Function Calls via Base-Class Pointers
650(2)
13.3.4 Virtual Functions
652(6)
13.3.5 Summary of the Allowed Assignments Between Base-Class and Derived-Class Objects and Pointers
658(1)
13.4 Type Fields and switch Statements
658(1)
13.5 Abstract Classes and Pure virtual Functions
659(2)
13.6 Case Study: Payroll System Using Polymorphism
661(18)
13.6.1 Creating Abstract Base Class Employee
663(3)
13.6.2 Creating Concrete Derived Class SalariedEmployee
666(2)
13.6.3 Creating Concrete Derived Class HourlyEmployee
668(3)
13.6.4 Creating Concrete Derived Class CommissionEmployee
671(2)
13.6.5 Creating Indirect Concrete Derived Class BasePlusCommissionEmployee
673(2)
13.6.6 Demonstrating Polymorphic Processing
675(4)
13.7 (Optional) Polymorphism, Virtual Function and Dynamic Binding "Under the Hood"
679(4)
13.8 Case Study: Payroll System Using Polymorphism and Run-Time Type Information with Downcasting, dynamic_cast, typeid and type_info
683(3)
13.9 Virtual Destructors
686(1)
13.10 Wrap-Up
687(5)
A Operator Precedence and Associativity Chart 692(3)
A.1 Operator Precedence
692(3)
B ASCII Character Set 695(1)
C Fundamental Types 696(2)
D Number Systems 698(13)
D.1 Introduction
699(3)
D.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers
702(1)
D.3 Converting Octal and Hexadecimal Numbers to Binary Numbers
703(1)
D.4 Converting from Binary, Octal or Hexadecimal to Decimal
703(1)
D.5 Converting from Decimal to Binary, Octal or Hexadecimal
704(2)
D.6 Negative Binary Numbers: Two's Complement Notation
706(5)
E ++ Internet a Web Resources 711(4)
E.1 Resources
711(2)
E.2 Tutorials
713(1)
E.3 FAQs
713(1)
E.4 Visual C++
713(1)
E.5 Newsgroups
714(1)
E.6 Compilers and Development Tools
714(1)
F Using t Visual Studio® .NET Debugger 715(17)
F.1 Introduction
716(1)
F.2 Breakpoints and the Continue Command
716(6)
F.3 The Locals and Watch Windows
722(3)
F.4 Controlling Execution Using the Step Into, Step Over, Step Out and Continue Commands
725(3)
F.5 The Autos Window
728(1)
F.6 Wrap-Up
729(3)
G Using the GNUTm C++ Debugger 732(18)
G.1 Introduction
733(1)
G.2 Breakpoints and the run, stop, continue and print Commands
733(7)
G.3 The print and set Commands
740(2)
G.4 Controlling Execution Using the step, finish and next Commands
742(2)
G.5 The watch Command
744(3)
G.6 Wrap-Up
747(3)
Bibliography 750(6)
Index 756

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program