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.

9780135289105

C++ : How to Program

by ;
  • ISBN13:

    9780135289105

  • ISBN10:

    0135289106

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 1997-12-01
  • Publisher: Prentice Hall
  • View Upgraded Edition
  • 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: $68.00

Summary

This is the Second Edition of a best-selling introduction to C++ programming text that uses an object-oriented approach to teach C++ programming. Since this text assumes little or no programming experience, these well-known authors include comprehensive coverage of computer science concepts, software engineering practices, programming pitfalls, and object-oriented methods.

Table of Contents

Preface xxxii
Chapter 1 Introduction to Computers and C++ Programming
1(53)
1.1 Introduction
2(3)
1.2 What is a Computer?
5(1)
1.3 Computer Organization
5(1)
1.4 Evolution of Operating Systems
6(1)
1.5 Personal Computing, Distributed Computing, and Client/Server Computing
7(1)
1.6 Machine Languages, Assembly Languages, and High-level Languages
8(1)
1.7 History of C and C++
9(1)
1.8 C++ Standard Library
10(1)
1.9 Java, the Internet and the World Wide Web
11(1)
1.10 Other High-level Languages
12(1)
1.11 Structured Programming
12(1)
1.12 Basics of a Typical C++ Environment
13(2)
1.13 General Notes About C++ and This Book
15(1)
1.14 Introduction to C++ Programming
16(1)
1.15 A Simple Program: Printing a Line of Text
17(4)
1.16 Another Simple Program: Adding Two Integers
21(4)
1.17 Memory Concepts
25(1)
1.18 Arithmetic
26(4)
1.19 Decision Making: Equality and Relational Operators
30(4)
1.20 New-Style Header Files and Namespaces
34(1)
1.21 Thinking About Objects
35(19)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tip
Portability Tips
Software Engineering Observations
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 2 Control Structures
54(88)
2.1 Introduction
56(1)
2.2 Algorithms
57(1)
2.3 Pseudocode
57(1)
2.4 Control Structures
58(2)
2.5 The if Selection Structure
60(2)
2.6 The if/else Selection Structure
62(4)
2.7 The while Repetition Structure
66(2)
2.8 Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition)
68(2)
2.9 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition)
70(7)
2.10 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures)
77(4)
2.11 Assignment Operators
81(1)
2.12 Increment and Decrement Operators
82(3)
2.13 Essentials of Counter-Controlled Repetition
85(2)
2.14 The for Repetition Structure
87(4)
2.15 Examples Using the for Structure
91(4)
2.16 The switch Multiple-Selection Structure
95(7)
2.17 The do/while Repetition Structure
102(2)
2.18 The break and continue Statements
104(1)
2.19 Logical Operators
105(3)
2.20 Confusing Equality (==) and Assignment (=) Operators
108(2)
2.21 Structured Programming Summary
110(6)
2.22 Thinking About Objects: Identifying the Objects in a Problem
116(26)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tips
Software Engineering Observations
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 3 Functions
142(80)
3.1 Introduction
144(1)
3.2 Program Components in C++
145(1)
3.3 Math Library Functions
145(2)
3.4 Functions
147(1)
3.5 Function Definitions
148(4)
3.6 Function Prototypes
152(3)
3.7 Header Files
155(2)
3.8 Random Number Generation
157(5)
3.9 Example: A Game of Chance and Introducing enum
162(4)
3.10 Storage Classes
166(2)
3.11 Scope Rules
168(4)
3.12 Recursion
172(3)
3.13 Example Using Recursion: The Fibonacci Series
175(3)
3.14 Recursion vs. Iteration
178(3)
3.15 Functions with Empty Parameter Lists
181(1)
3.16 Inline Functions
182(1)
3.17 References and References Parameters
183(4)
3.18 Default Arguments
187(2)
3.19 Unary Scope Resolution Operator
189(1)
3.20 Function Overloading
190(2)
3.21 Function Templates
192(2)
3.22 Thinking About Objects: Identifying an Object's Attributes
194(28)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tips
Software Engineering Observations
Testing and Debugging Tip
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 4 Arrays
222(60)
4.1 Introduction
224(1)
4.2 Arrays
224(2)
4.3 Declaring Arrays
226(1)
4.4 Examples Using Arrays
227(14)
4.5 Passing Arrays to Functions
241(4)
4.6 Sorting Arrays
245(2)
4.7 Case Study: Computing Mean, Median, and Mode Using Arrays
247(5)
4.8 Searching Arrays: Linear Search and Binary Search
252(4)
4.9 Multiple-Subscripted Arrays
256(7)
4.10 Thinking About Objects: Identifying a Class's Behaviors
263(19)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tip
Software Engineering Observations
Testing and Debugging Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Recursion Exercises
Chapter 5 Pointers and Strings
282(80)
5.1 Introduction
284(1)
5.2 Pointer Variable Declarations and Initialization
285(1)
5.3 Pointer Operators
286(3)
5.4 Calling Functions by Reference
289(4)
5.5 Using the Const Qualifier with Pointers
293(6)
5.6 Bubble Sort Using Call-by-reference
299(5)
5.7 Pointer Expressions and Pointer Arithmetic
304(3)
5.8 The Relationship Between Pointers and Arrays
307(4)
5.9 Arrays of Pointers
311(1)
5.10 Case Study: A Card Shuffling and Dealing Simulation
312(5)
5.11 Function Pointers
317(5)
5.12 Introduction to Character and String Processing
322(9)
5.12.1 Fundamentals of Characters and Strings
322(2)
5.12.2 String Manipulation Functions of the String Handling Library
324(7)
5.13 Thinking About Objects: Interactions Among Objects
331(31)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tips
Software Engineering Observations
Testing and Debugging Tip
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Special Section: Building Your Own Computer
More Pointer Exercises
String Manipulation Exercises
Special Section: Advanced String Manipulation Exercises
A Challenging String Manipulation Project
Chapter 6 Classes and Data Abstraction
362(54)
6.1 Introduction
364(1)
6.2 Structure Definitions
365(1)
6.3 Accessing Members of Structures
366(1)
6.4 Implementing a User-Defined Type Time With a Struct
367(2)
6.5 Implementing a Time Abstract Data Type with a Class
369(7)
6.6 Class Scope and Accessing Class Members
376(2)
6.7 Separating Interface from Implementation
378(3)
6.8 Controlling Access to Members
381(3)
6.9 Access Functions and Utility Functions
384(3)
6.10 Initializing Class Objects: Constructors
387(1)
6.11 Using Default Arguments with Constructors
388(3)
6.12 Using Destructors
391(1)
6.13 When Constructors and Destructors are Called
392(3)
6.14 Using Data Members and Member Functions
395(5)
6.15 A Subtle Trap: Returning a Reference to a Private Data Member
400(2)
6.16 Assignment by Default Memberwise Copy
402(2)
6.17 Software Reusability
404(1)
6.18 Thinking About Objects: Programming the Classes for the Elevator Simulator
404(12)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Software Engineering Observations
Testing and Debugging Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 7 Classes: Part II
416(46)
7.1 Introduction
418(1)
7.2 const (Constant) Objects and const Member Functions
418(8)
7.3 Composition: Objects as Members of Classes
426(6)
7.4 friend Functions and friend Classes
432(3)
7.5 Using the this Pointer
435(5)
7.6 Dynamic Memory Allocation with Operators new and delete
440(1)
7.7 static Class Members
441(5)
7.8 Data Abstraction and Information Hiding
446(4)
7.8.1 Example: Array Abstract Data Type
448(1)
7.8.2 Example: String Abstract Data Type
449(1)
7.8.3 Example: Queue Abstract Data Type
449(1)
7.9 Container Classes and Iterators
450(1)
7.10 Proxy Classes
450(2)
7.11 Thinking About Objects: Using Composition and Dynamic Object Management in the Elevator Simulator
452(10)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Software Engineering Observations
Testing and Debugging Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 8 Operator Overloading
462(56)
8.1 Introduction
464(1)
8.2 Fundamentals of Operator Overloading
465(1)
8.3 Restrictions on Operator Overloading
466(2)
8.4 Operator Functions as Class Members vs. as Friend Functions
468(1)
8.5 Overloading Stream-Insertion and Stream-Extraction Operators
469(3)
8.6 Overloading Unary Operators
472(1)
8.7 Overloading Binary Operators
473(1)
8.8 Case Study: An Array Class
473(13)
8.9 Converting Between Types
486(1)
8.10 Case Study: A String Class
487(11)
8.11 Overloading ++ and --
498(1)
8.12 Case Study: A Date Class
499(19)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Software Engineering Observations
Testing and Debugging Tip
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 9 Inheritance
518(44)
9.1 Introduction
520(2)
9.2 Inheritance: Base Classes and Derived Classes
522(2)
9.3 Protected Members
524(1)
9.4 Casting Base-Class Pointers to Derived-Class Pointers
524(6)
9.5 Using Member Functions
530(1)
9.6 Overriding Base-Class Members in a Derived Class
530(5)
9.7 Public, Protected and Private Inheritance
535(1)
9.8 Direct Base Classes and Indirect Base Classes
536(1)
9.9 Using Constructors and Destructors in Derived Classes
536(4)
9.10 Implicit Derived-Class Object to Base-Class Object Conversion
540(1)
9.11 Software Engineering with Inheritance
541(1)
9.12 Composition Vs. Inheritance
542(1)
9.13 "Uses A" and "Knows A" Relationships
543(1)
9.14 Case Study: Point, Circle, Cylinder
543(7)
9.15 Multiple Inheritance
550(12)
Summary
Terminology
Common Programming Errors
Good Programming Practice
Performance Tips
Software Engineering Observations
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 10 Virtual Functions and Polymorphism
562(36)
10.1 Introduction
564(1)
10.2 Type Fields and switch Statements
564(1)
10.3 Virtual Functions
565(1)
10.4 Abstract Base Classes and Concrete Classes
566(1)
10.5 Polymorphism
566(3)
10.6 Case Study: A Payroll System Using Polymorphism
569(11)
10.7 New Classes and Dynamic Binding
580(1)
10.8 Virtual Destructors
580(1)
10.9 Case Study: Inheriting Interface and Implementation
581(8)
10.10 Polymorphism, virtual Functions and Dynamic Binding "Under the Hood"
589(9)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Software Engineering Observations
Self-Review Exercise
Answers to Self-Review Exercise
Exercises
Chapter 11 C++ Stream Input/Output
598(48)
11.1 Introduction
601(1)
11.2 Streams
601(3)
11.2.1 Iostream Library Header Files
602(1)
11.2.2 Stream Input/Output Classes and Objects
602(2)
11.3 Stream Output
604(4)
11.3.1 Stream-insertion Operator
604(2)
11.3.2 Cascading Stream-Insertion/Extraction Operators
606(1)
11.3.3 Output of char (*) Variables
607(1)
11.3.4 Character Output with Member Function put; Cascading puts
608(1)
11.4 Stream Input
608(1)
11.4.1 Stream-Extraction Operator
609(1)
11.4.2 get and getline Member Functions
610(4)
11.4.3 istream Member Functions peek, putback and ignore
614(1)
11.4.4 Type-Safe I/O
614(1)
11.5 Unformatted I/O with read, gcount and write
614(1)
11.6 Stream Manipulators
615(4)
11.6.1 Integral Stream Base: dec, oct, hex and setbase
616(1)
11.6.2 Floating-Point Precision (precision, setprecision)
616(1)
11.6.3 Field Width (setw, width)
617(1)
11.6.4 User-Defined Manipulators
618(1)
11.7 Stream Format States
619(11)
11.7.1 Format State Flags
619(11)
11.7.2 Trailing Zeros and Decimal Points (ios::showpoint)
621(1)
11.7.3 Justification (ios::left, ios::right, ios::internal)
622(2)
11.7.4 Padding (fill, setfill)
624(1)
11.7.5 Integral Stream Base (ios::dec, ios::oct, ios::hex, ios::showbase)
625(1)
11.7.6 Floating-Point Numbers; Scientific Notation (ios::scientific, ios::fixed)
626(1)
11.7.7 Uppercase/Lowercase Control (ios::uppercase)
627(1)
11.7.8 Setting and Resetting the Format Flags (flags, setiosflags, resetiosflags)
628(2)
11.8 Stream Error States
630(2)
11.9 Tying an Output Stream to an Input Stream
632(14)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tip
Portability Tip
Software Engineering Observations
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 12 Templates
646(20)
12.1 Introduction
648(1)
12.2 Function Templates
649(3)
12.3 Overloading Template Functions
652(1)
12.4 Class Templates
652(6)
12.5 Class Templates and Non-Type Parameters
658(1)
12.6 Templates and Inheritance
659(1)
12.7 Templates and Friends
659(2)
12.8 Templates and Static Members
661(5)
Summary
Terminology
Common Programming Errors
Performance Tips
Software Engineering Observations
Testing and Debugging Tip
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 13 Exception Handling
666(36)
13.1 Introduction
668(2)
13.2 When Exception Handling Should Be Used
670(1)
13.3 Other Error-Handling Techniques
671(1)
13.4 Basics of C++ Exception Handling: try, throw, catch
672(1)
13.5 A Simple Exception Handling Example: Divide by Zero
673(2)
13.6 Throwing an Exception
675(1)
13.7 Catching an Exception
676(3)
13.8 Rethrowing an Exception
679(2)
13.9 Exception Specifications
681(1)
13.10 Processing Unexpected Exceptions
682(1)
13.11 Stack Unwinding
682(2)
13.12 Constructors, Destructors and Exception Handling
684(1)
13.13 Exception and Inheritance
684(1)
13.14 Processing new Failures
685(3)
13.15 Class auto_ptr and Dynamic Memory Allocation
688(2)
13.16 Standard Library Exception Hierarchy
690(12)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Software Engineering Observations
Testing and Debugging Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 14 File Processing
702(38)
14.1 Introduction
704(1)
14.2 The Data Hierarchy
704(2)
14.3 Files and Streams
706(1)
14.4 Creating a Sequential Access File
707(4)
14.5 Reading Data from a Sequential Access File
711(6)
14.6 Updating Sequential Access Files
717(1)
14.7 Random Access Files
718(1)
14.8 Creating a Random Access File
719(2)
14.9 Writing Data Randomly to a Random Access File
721(2)
14.10 Reading Data Sequentially from a Random Access File
723(2)
14.11 Example: A Transaction Processing Program
725(5)
14.12 Input/Output of Objects
730(10)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tip
Self-Review Exercises
Answers to Self Review Exercises
Exercises
Chapter 15 Data Structures
740(58)
15.1 Introduction
742(1)
15.2 Self-Referential Classes
743(1)
15.3 Dynamic Memory Allocation
744(1)
15.4 Linked Lists
745(13)
15.5 Stacks
758(4)
15.6 Queues
762(4)
15.7 Trees
766(32)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tip
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Special Section: Building Your Own Compiler
Chapter 16 Bits, Characters, Strings and Structures
798(54)
16.1 Introduction
800(1)
16.2 Structure Definitions
800(3)
16.3 Initializing Structures
803(1)
16.4 Using Structures with Functions
803(1)
16.5 Typedef
803(1)
16.6 Example: High-Performance Card Shuffling and Dealing Simulation
804(2)
16.7 Bitwise Operators
806(9)
16.8 Bit Fields
815(3)
16.9 Character Handling Library
818(5)
16.10 String Conversion Functions
823(6)
16.11 Search Functions of the String Handling Library
829(4)
16.12 Memory Functions of the String Handling Library
833(4)
16.13 Another Function of the String Handling Library
837(15)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 17 The Preprocessor
852(14)
17.1 Introduction
854(1)
17.2 The #include Preprocessor Directive
854(1)
17.3 The #define Preprocessor Directive: Symbolic Constants
855(1)
17.4 The #define Preprocessor Directive: Macros
856(2)
17.5 Conditional Compilation
858(1)
17.6 The #error and #pragma Preprocessor Directives
859(1)
17.7 The # and ## Operators
859(1)
17.8 Line Numbers
860(1)
17.9 Predefined Symbolic Constants
860(1)
17.10 Assertions
860(6)
Summary
Terminology
Common Programming Errors
Good Programming Practice
Performance Tip
Software Engineering Observation
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 18 C Legacy Code Topics
866(26)
18.1 Introduction
868(1)
18.2 Redirecting Input/Output on UNIX and DOS Systems
868(1)
18.3 Variable-Length Argument Lists
869(2)
18.4 Using Command-Line Arguments
871(2)
18.5 Notes on Compiling Multiple-Source-File Programs
873(1)
18.6 Program Termination with Exit and Atexit
874(2)
18.7 The Volatile Type Qualifier
876(1)
18.8 Suffixes for Integer and Floating-Point Constants
876(1)
18.9 Signal Handling
877(1)
18.10 Dynamic Memory Allocation: Functions Calloc and Realloc
877(2)
18.11 The Unconditional Branch: Goto
879(2)
18.12 Unions
881(3)
18.13 Linkage Specifications
884(8)
Summary
Terminology
Common Programming Error
Performance Tips
Portability Tips
Software Engineering Observations
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 19 Class string and String Stream Processing
892(32)
19.1 Introduction
894(2)
19.2 string Assignment and Concatenation
896(2)
19.3 Comparing strings
898(3)
19.4 Substrings
901(1)
19.5 Swapping strings
901(1)
19.6 string Characteristics
902(2)
19.7 Finding Characters in a string
904(2)
19.8 Replacing Characters in a string
906(2)
19.9 Inserting Characters into a string
908(2)
19.10 Conversion to C-Style char (*) Strings
910(2)
19.11 Iterators
912(1)
19.12 String Stream Processing
913(11)
Summary
Terminology
Common Programming Errors
Good Programming Practice
Performance Tip
Testing and Debugging Tip
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Chapter 20 Standard Template Library (STL)
924(102)
20.1 Introduction to the Standard Template Library (STL)
927(13)
20.1.1 Introduction to Containers
929(4)
20.1.2 Introduction to Iterators
933(5)
20.1.3 Introduction to Algorithms
938(2)
20.2 Sequence Containers
940(15)
20.2.1 vector Sequence Container
941(8)
20.2.2 list Sequence Container
949(4)
20.2.3 deque Sequence Container
953(2)
20.3 Associative Containers
955(9)
20.3.1 multiset Associative Container
955(3)
20.3.2 set Associative Container
958(2)
20.3.3 multimap Associative Container
960(2)
20.3.4 map Associative Container
962(2)
20.4 Container Adapters
964(5)
20.4.1 stack Adapter
964(2)
20.4.2 queue Adapter
966(2)
20.4.3 priority_queue Adapter
968(1)
20.5 Algorithms
969(35)
20.5.1 fill, fill_n, generate and generate_n
970(2)
20.5.2 equal, mismatch and lexicographical_compare
972(3)
20.5.3 remove, remove_if, remove_copy and remove_copy_if
975(3)
20.5.4 replace, replace_if, replace_copy and replace_copy_if
978(3)
20.5.5 Mathematical Algorithms
981(3)
20.5.6 Basic Searching and Sorting Algorithms
984(3)
20.5.7 swap, iter_swap and swap_ranges
987(2)
20.5.8 copy_backward, merge, unique and reverse
989(2)
20.5.9 inplace_merge, unique_copy and reverse_copy
991(2)
20.5.10 Set Operations
993(3)
20.5.11 lower_bound, upper_bound and equal_range
996(3)
20.5.12 Heapsort
999(3)
20.5.13 min and max
1002(1)
20.5.14 Algorithms Not Covered in this Chapter
1003(1)
20.6 Class bitset
1004(4)
20.7 Function Objects
1008(18)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tips
Portability Tips
Software Engineering Observations
Testing and Debugging Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
STL Resources on the Internet and the World Wide Web
Chapter 21 ANSI/ISO C++ Standard Language Additions
1026(38)
21.1 Introduction
1028(1)
21.2 bool Data Type
1028(2)
21.3 static_cast Operator
1030(2)
21.4 const_cast Operator
1032(1)
21.5 reinterpret_cast Operator
1033(2)
21.6 Namespaces
1035(4)
21.7 Run Time Type Information (RTTI)
1039(4)
21.8 Operator Keywords
1043(1)
21.9 explicit Constructors
1044(5)
21.10 mutable Class Members
1049(2)
21.11 Pointers to Class Members (.(*) and -- greater than (*))
1051(2)
21.12 Multiple Inheritance and virtual Base Classes
1053(4)
21.13 Closing Remarks
1057(7)
Summary
Terminology
Common Programming Errors
Good Programming Practices
Performance Tip
Portability Tips
Software Engineering Observations
Testing and Debugging Tips
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Appendix A Operator Precedence Chart
1064(2)
Appendix B ASCII Character Set
1066(1)
Appendix C Number Systems
1067(13)
C.1 Introduction
1068(3)
C.2 Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers
1071(1)
C.3 Converting Octal Numbers and Hexadecimal Numbers to Binary Numbers
1072(1)
C.4 Converting from Binary, Octal, or Hexadecimal to Decimal
1072(1)
C.5 Converting from Decimal to Binary, Octal, or Hexadecimal
1073(2)
C.6 Negative Binary Numbers: Two's Complement Notation
1075(5)
Summary
Terminology
Self-Review Exercises
Answers to Self-Review Exercises
Exercises
Appendix D C++ Internet and Web Resources
1080(5)
D.1 Resources
1080(1)
D.2 Tutorials
1081(1)
D.3 FAQs
1081(1)
D.4 comp.lang.c++
1082(1)
D.5 Compilers
1083(1)
D.6 Development Tools
1084(1)
Bibliography 1085(7)
Index 1092

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