Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.

Similar documents
Problem Solving with C++

Absolute C++ Walter Savitch

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

Introduction to Programming Using Java (98-388)

CS201 Some Important Definitions

Preface to the Second Edition Preface to the First Edition Brief Contents Introduction to C++ p. 1 A Review of Structures p.

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and

The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured

C++ (Non for C Programmer) (BT307) 40 Hours

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Chapter 4 Defining Classes I

Short Notes of CS201

CS201 - Introduction to Programming Glossary By

Programmer-Defined Functions

Chapter 2 Basic Elements of C++

C++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 12: Classes and Data Abstraction

Welcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p.

Chapter 3. More Flow of Control. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

I BCS-031 BACHELOR OF COMPUTER APPLICATIONS (BCA) (Revised) Term-End Examination. June, 2015 BCS-031 : PROGRAMMING IN C ++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Practical C++ Programming

Programming Fundamentals - A Modular Structured Approach using C++ By: Kenneth Leroy Busbee

Objectives. Chapter 4: Control Structures I (Selection) Objectives (cont d.) Control Structures. Control Structures (cont d.) Relational Operators

COP 3014: Fall Final Study Guide. December 5, You will have an opportunity to earn 15 extra credit points.

I BSc(IT) [ Batch] Semester II Core: Object Oriented Programming With C plus plus - 212A Multiple Choice Questions.

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 4: Control Structures I (Selection) Objectives. Objectives (cont d.) Control Structures. Control Structures (cont d.

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Chapter 2: Basic Elements of C++

Objectives. In this chapter, you will:

CSI33 Data Structures

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Chapter Overview. C++ Basics. Variables and Assignments. Variables and Assignments. Keywords. Identifiers. 2.1 Variables and Assignments

Programming. C++ Basics

C-LANGUAGE CURRICULAM

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 2. C++ Basics

Chapter 8. Operator Overloading, Friends, and References. Copyright 2010 Pearson Addison-Wesley. All rights reserved

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

XII- COMPUTER SCIENCE VOL-II MODEL TEST I

2.1. Chapter 2: Parts of a C++ Program. Parts of a C++ Program. Introduction to C++ Parts of a C++ Program

Euclid s algorithm, 133

Abstract Data Types (ADTs) 1. Legal Values. Client Code for Rational ADT. ADT Design. CS 247: Software Engineering Principles

Introduction to C++ Systems Programming

Object Oriented Programming with c++ Question Bank

CS 247: Software Engineering Principles. ADT Design

ADTs & Classes. An introduction

Introduction to Programming using C++

Chapter Procedural Abstraction and Functions That Return a Value. Overview. Top-Down Design. Benefits of Top Down Design.

Chapter 4. Procedural Abstraction and Functions That Return a Value

Chapter 15 - C++ As A "Better C"

KLiC C++ Programming. (KLiC Certificate in C++ Programming)

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Standard. Number of Correlations

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Fast Introduction to Object Oriented Programming and C++

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Boolean Algebra Boolean Algebra

Time : 3 hours. Full Marks : 75. Own words as far as practicable. The questions are of equal value. Answer any five questions.

This page intentionally left blank

AN OVERVIEW OF C++ 1

Final exam. Final exam will be 12 problems, drop any 2. Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers)

VALLIAMMAI ENGINEERING COLLEGE

Borland 105, 278, 361, 1135 Bounded array Branch instruction 7 break statement 170 BTree 873 Building a project 117 Built in data types 126

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Ch. 12: Operator Overloading

8. Functions (II) Control Structures: Arguments passed by value and by reference int x=5, y=3, z; z = addition ( x, y );

CSCI 123 Introduction to Programming Concepts in C++

7.1 Optional Parameters

Page. No. 1/15 CS201 Introduction to Programmming Solved Subjective Questions From spring 2010 Final Term Papers By vuzs Team

UNIT- 3 Introduction to C++

ENGINEERING PROBLEM SOLVING WITH C++

Quiz Start Time: 09:34 PM Time Left 82 sec(s)

CS201 Latest Solved MCQs

Chapter Overview. More Flow of Control. Flow Of Control. Using Boolean Expressions. Using Boolean Expressions. Evaluating Boolean Expressions

calling a function - function-name(argument list); y = square ( z ); include parentheses even if parameter list is empty!

Lecture 18 Tao Wang 1

Chapter void Functions. Overview. Functions for All Subtasks. void-functions. Using a void-function. void-function Definition

Chapter 3. More Flow of Control. Copyright 2008 Pearson Addison-Wesley. All rights reserved.

Curriculum Map Grade(s): Subject: AP Computer Science

PROGRAMMING IN C AND C++:

BITG 1233: Introduction to C++

C++ Programming: From Problem Analysis to Program Design, Third Edition

C++ Basic Elements of COMPUTER PROGRAMMING. Special symbols include: Word symbols. Objectives. Programming. Symbols. Symbols.

Function Call Example

! A program is a set of instructions that the. ! It must be translated. ! Variable: portion of memory that stores a value. char

Introduction p. 1 Pseudocode p. 2 Algorithm Header p. 2 Purpose, Conditions, and Return p. 3 Statement Numbers p. 4 Variables p. 4 Algorithm Analysis

Index COPYRIGHTED MATERIAL

1 Lexical Considerations

Computer Programming C++ (wg) CCOs

CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE

c++ keywords: ( all lowercase ) Note: cin and cout are NOT keywords.

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

3. Java - Language Constructs I

An Object Oriented Programming with C

UEE1302 (1102) F10: Introduction to Computers and Programming

Transcription:

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. 9 Self-Test Exercises p. 11 History Note p. 12 Programming and Problem-Solving p. 13 Algorithms p. 14 Program Design p. 15 The Software Life Cycle p. 17 Self-Test Exercises p. 18 Introduction to C++ p. 19 Origins of the C++ Language p. 19 A Sample C++ Program p. 20 Pitfall--Using the Wrong Slash in \n p. 24 Programming Tip--Input and Output Syntax p. 24 Pitfall--Putting a Space before the Include File Name p. 24 Layout of a Simple C++ Program p. 25 Compiling and Running a C++ Program p. 27 Self-Test Exercises p. 28 Testing and Debugging p. 28 Kinds of Program Errors p. 29 Pitfall--Assuming Your Program Is Correct p. 30 Self-Test Exercises p. 30 Chapter Summary p. 31 Answers to Self-Test Exercises p. 32 Programming Projects p. 34 C++ Basics p. 37 Variables and Assignments p. 38 Variables p. 38 Names: Identifiers p. 39 Variable Declarations p. 42 Assignment Statements p. 44 Pitfall--Uninitialized Variables p. 46 Programming Tip--Use Meaningful Names p. 47 Self-Test Exercises p. 47 Input and Output p. 48 Output Using cout p. 48 Escape Sequences p. 50

Programming Tip--End Each Program with a\n or endl p. 52 Formatting for Numbers with a Decimal Point p. 52 Input Using cin p. 54 Designing Input and Output p. 55 Programming Tip--Line Breaks in I/O p. 56 Self-Test Exercises p. 56 Data Types and Expressions p. 57 The Types int and double p. 57 Other Number Types p. 59 The Type char p. 61 The Type bool p. 62 Type Compatibilities p. 62 Arithmetic Operators and Expressions p. 64 Pitfall--Whole Numbers in Division p. 67 Self-Test Exercises p. 68 More Assignment Statements p. 69 Simple Flow of Control p. 70 A Simple Branching Mechanism p. 70 Pitfall--Strings of Inequalities p. 76 Pitfall--Using = in place of == p. 76 Compound Statements p. 78 Self-Test Exercises p. 79 Simple Loop Mechanisms p. 80 Increment and Decrement Operators p. 84 Programming Example--Charge Card Balance p. 86 Pitfall--Infinite Loops p. 87 Self-Test Exercises p. 89 Program Style p. 90 Indenting p. 90 Comments p. 91 Naming Constants p. 92 Self-Test Exercises p. 95 Chapter Summary p. 95 Answers to Self-Test Exercises p. 96 Programming Projects p. 101 Procedural Abstraction and Functions That Return a Value p. 105 Top-Down Design p. 106 Predefined Functions p. 107 Using Predefined Functions p. 107 Type Changing Functions p. 112 Self-Test Exercises p. 115

Programmer-Defined Functions p. 116 Function Definitions p. 116 Alternate Form for Function Prototypes p. 121 Pitfall--Arguments in the Wrong Order p. 123 Function Definition-Syntax Summary p. 125 More About Placement of Function Definitions p. 126 Self-Test Exercises p. 127 Procedural Abstraction p. 127 The Black Box Analogy p. 128 Programming Tip--Choosing Formal Parameter Names p. 130 Case Study--Buying Pizza p. 131 Programming Tip--Use Pseudocode p. 138 Self-Test Exercises p. 138 Local Variables p. 139 The Small Program Analogy p. 139 Programming Example--Experimental Pea Patch p. 142 Global Constants and Global Variables p. 142 Call-by-Value Formal Parameters Are Local Variables p. 145 Self-Test Exercises p. 147 Programming Example--The Factorial Function p. 148 Overloading Function Names p. 150 Introduction to Overloading p. 150 Programming Example--Revised Pizza-Buying Program p. 153 Automatic Type Conversion p. 154 Self-Test Exercises p. 158 Chapter Summary p. 158 Answers to Self-Test Exercises p. 159 Programming Projects p. 162 Functions for All Subtasks p. 167 Void-Functions p. 168 Definitions of void-functions p. 168 Programming Example--Converting Temperatures from Fahrenheit to Celsius p. 171 Return-Statements in Void-Functions p. 171 Self-Test Exercises p. 174 Call-by-Reference Parameters p. 176 A First View of Call-by-Reference p. 176 Call-by-Reference in Detail p. 179 Programming Example--The swap_values Function p. 181 Mixed Parameter Lists p. 184 Programming Tip--What Kind of Parameter to Use p. 185 Pitfall--Inadvertent Local Variables p. 187

Self-Test Exercises p. 189 Using Procedural Abstraction p. 190 Functions Calling Functions p. 190 Preconditions and Postconditions p. 193 Case Study--Supermarket Pricing p. 194 Self-Test Exercises p. 197 Testing and Debugging Functions p. 200 Stubs and Drivers p. 200 Self-Test Exercises p. 203 Chapter Summary p. 206 Answers to Self-Test Exercises p. 207 Programming Projects p. 210 I/O Streams as an Introduction to Objects and Classes p. 215 Streams and Basic File I/O p. 216 Why Use Files for I/O? p. 217 File I/O p. 218 Introduction to Classes and Objects p. 221 Programming Tip--Check that a File Was Opened Successfully p. 225 Techniques for File I/O p. 228 Self-Test Exercises p. 230 File Names as Input (Optional) p. 230 Tools for Stream I/O p. 232 Formating Output with Stream Functions p. 235 Manipulators p. 238 Self-Test Exercises p. 240 Streams as Arguments to Functions p. 242 Programming Tip--Checking for the End of a File p. 242 Programming Example--Cleaning Up a File Format p. 246 Self-Test Exercises p. 247 Character I/O p. 248 The Member Functions get and put p. 248 The putback Member Function (Optional) p. 252 Programming Example--Checking Input p. 253 Pitfall--Unexpected '\n' in Input p. 254 The eof Member Function p. 257 Self-Test Exercises p. 259 Programming Example--Editing a Text File p. 261 Predefined Character Functions p. 262 Pitfall--toupper and tolower Return int Values p. 265 Self-Test Exercises p. 267 Inheritance p. 268

Inheritance Among Stream Classes p. 268 Programming Example--Another new_line Function p. 272 Default Arguments for Functions (Optional) p. 272 Self-Test Exercises p. 274 Chapter Summary p. 276 Answers to Self-Test Exercises p. 278 Programming Projects p. 284 Defining Classes and Abstract Data Types p. 291 Structures p. 292 Structures for Diverse Data p. 292 Pitfall--Forgetting a Semicolon in a Structure Definition p. 298 Structures as Function Arguments p. 299 Programming Tip--Use Hierarchical Structures p. 301 Initializing Structures p. 302 Self-Test Exercises p. 302 Classes p. 305 Defining Classes and Member Functions p. 305 Self-Test Exercises p. 309 Public and Private Members p. 311 Programming Tip--Make All Member Variables Private p. 317 Programming Tip--Define Accessor Functions p. 317 Programming Tip--Use the Assignment Operator with Objects p. 319 Self-Test Exercises p. 319 Programming Example--Bank Account Class--Version 1 p. 321 Summary of Some Properties of Classes p. 326 Self-Test Exercises p. 327 Constructors for Initialization p. 328 Programming Tip--Always Include a Default Constructor p. 333 Pitfall--Constructors with No Arguments p. 335 Self-Test Exercises p. 336 Abstract Data Types p. 337 Classes to Produce ADTs p. 337 Programming Example--Alternative Implementation of a Class p. 341 Self-Test Exercises p. 346 Chapter Summary p. 346 Answers to Self-Test Exercises p. 347 Programming Projects p. 352 More Flow of Control p. 357 Using Boolean Expressions p. 358 Evaluating Boolean Expressions p. 358 Pitfall--Boolean Expressions Convert to int Values p. 363

Self-Test Exercises p. 365 Functions That Return a Boolean Value p. 365 Self-Test Exercises p. 366 Enumeration Types (Optional) p. 366 Multiway Branches p. 367 Nested Statements p. 368 Programming Tip--Use Braces in Nested Statements p. 368 Multiway if-else-statements p. 371 Programming Example--State Income Tax p. 372 Self-Test Exercises p. 375 The switch-statement p. 377 Pitfall--Forgetting a break in a switch-statement p. 381 Using switch-statements for Menus p. 381 Programming Tip--Use Function Calls in Branching Statements p. 384 Blocks p. 384 Pitfall--Inadvertent Local Variables p. 387 Self-Test Exercises p. 388 More About C++ Loop Statements p. 389 The while-statements Reviewed p. 390 Increment and Decrement Operators Revisited p. 390 Self-Test Exercises p. 394 The for-statement p. 395 Pitfall--Extra Semicolon in a for-statement p. 399 What Kind of Loop to Use p. 401 Self-Test Exercises p. 402 Pitfall--Uninitialized Variables and Infinite Loops p. 403 The break-statement p. 404 Pitfall--The break-statement in Nested Loops p. 404 Self-Test Exercises p. 404 Designing Loops p. 406 Loops for Sums and Products p. 406 Ending a Loop p. 408 Nested Loops p. 411 Self-Test Exercises p. 416 Debugging Loops p. 416 Self-Test Exercises p. 419 Chapter Summary p. 419 Answers to Self-Test Exercises p. 421 Programming Projects p. 428 Tools For Defining ADTs p. 433 Defining ADT Operations p. 434

Programming Example--An Equality Function p. 434 Self-Test Exercise p. 438 Friend Functions p. 438 Programming Tip--Define Both Accessor Functions and Friend Functions p. 439 Programming Tip--Use Both Member and Nonmember Functions p. 442 Programming Example--Money ADT (Version 1) p. 443 Implementation of digit_to_int (Optional) p. 450 Pitfall--Leading Zeros in Number Constants p. 451 Self-Test Exercises p. 451 The Const Parameter Modifier p. 453 Pitfall--Inconsistent Use of const p. 456 Self-Test Exercises p. 456 Overloading Operators p. 458 Self-Test Exercises p. 462 Constructors for Automatic Type Conversion p. 462 Self-Test Exercises p. 465 Overloading Unary Operators p. 465 Overloading ]] and [[ p. 466 Self-Test Exercises p. 477 Separate Compilation p. 478 ADTs Reviewed p. 478 Case Study--DigitalTime--An ADT Compiled Separately p. 479 Programming Tip--Hiding the Helping Functions p. 489 Using # ifndef p. 491 Programming Tip--Choosing ADT Operations p. 493 Programming Tip--Defining Other Libraries p. 495 Self-Test Exercises p. 495 Chapter Summary p. 496 Answers to Self-Test Exercises p. 497 Programming Projects p. 505 Arrays p. 511 Introduction to Arrays p. 512 Declaring and Referencing Arrays p. 513 Programming Tip--Use for-loops with Arrays p. 516 Arrays in Memory p. 517 Pitfall--Array Index Out of Range p. 518 Initializing Arrays p. 520 Self-Test Exercises p. 521 Arrays in Functions p. 523 Indexed Variables as Function Arguments p. 523 Pitfall--Array Indexes Always Start with Zero p. 524

Programming Tip--Use a Defined Constant for the Size of an Array p. 524 Self-Test Exercises p. 526 Entire Arrays as Function Arguments p. 526 The const Parameter Modifier p. 530 Self-Test Exercises p. 533 Programming with Arrays p. 535 Case Study--Production Graph p. 535 Partially Filled Arrays p. 545 Programming Example--Searching an Array p. 549 Programming Tip--Do Not Skimp on Formal Parameters p. 552 Programming Example--Sorting an Array p. 555 Self-Test Exercises p. 557 Arrays and Classes p. 560 Arrays of Classes p. 560 Self-Test Exercises p. 562 Arrays as Class Members p. 562 Programming Example--A Class for a Partially Filled Array p. 566 Self-Test Exercises p. 569 Chapter Summary p. 570 Answers to Self-Test Exercises p. 571 Programming Projects p. 578 Strings and Multidimensional Arrays p. 587 String Basics p. 588 Cstring Values and Cstring Variables p. 588 Pitfall--Using = and == with Cstrings p. 592 Predefined Cstring Functions p. 594 Pitfall--Dangers in Using Functions from [cstring] or [string.h] p. 596 Self-Test Exercises p. 596 Defining Cstring Functions p. 598 Cstring Input and Output p. 601 Cstring-to-Number Conversions and Robust Input p. 603 Self-Test Exercises p. 609 Multidimensional Arrays p. 610 Multidimensional Array Basics p. 610 Programming Example--Two-dimensional Grading Program p. 612 Arrays of Cstrings p. 617 Self-Test Exercises p. 617 The C++ Standard string Class p. 619 Interface for the Standard Class String p. 620 Pitfall--Code That Depends on Order of Evaluation is illegal p. 625 Programming Tip--The Ignore Member Function p. 625

Pitfall--Mixing cin ]] variable and getline Can Lose Input p. 626 Programming Example--Palindrome Testing p. 626 Arrays of Strings Revisited p. 634 Self-Test Exercises p. 634 Chapter Summary p. 634 Answers to Self-Test Exercises p. 635 Programming Projects p. 642 Pointers and Dynamic Arrays p. 653 Pointers p. 654 Pointer Variables p. 655 Self-Test Exercises p. 662 Basic Memory Management p. 663 Pitfall--Dangling Pointers p. 665 Static, Dynamic, and Automatic Variables p. 666 Programming Tip--Define Pointer Types p. 667 Self-Test Exercises p. 669 Dynamic Arrays p. 669 Array Variables and Pointer Variables p. 669 Creating and Using Dynamic Arrays p. 671 Self-Test Exercises p. 676 Pointer Arithmetic (Optional) p. 676 Classes and Dynamic Arrays p. 677 Programming Example--A String Variable Class p. 678 Destructors p. 684 Pitfall--Pointers as Call-by-Value Parameters p. 686 Copy Constructors p. 686 Self-Test Exercises p. 692 Overloading the Assignment Operator p. 693 Self-Test Exercises p. 696 Chapter Summary p. 696 Answers to Self-Test Exercises p. 697 Programming Projects p. 700 Recursion p. 701 Recursive Functions for Tasks p. 703 Case Study--Vertical Numbers p. 703 A Closer Look at Recursion p. 711 Pitfall--Infinite Recursion p. 712 Self-Test Exercises p. 713 Stacks for Recursion p. 714 Pitfall--Stack Overflow p. 716 Recursion versus Iteration p. 716

Self-Test Exercises p. 717 Recursive Functions for Values p. 718 General Form for a Recursive Function That Returns a Value p. 718 Programming Example--Another Powers Function p. 718 Self-Test Exercises p. 722 Thinking Recursively p. 724 Recursive Design Techniques p. 724 Case Study--Binary Search--An Example of Recursive Thinking p. 725 Programming Example--A Recursive Member Function p. 735 Self-Test Exercises p. 739 Chapter Summary p. 739 Answers to Self-Test Exercises p. 739 Programming Projects p. 745 Templates for More Abstraction p. 749 Templates for Algorithm Abstraction p. 750 Templates for Functions p. 753 Pitfall--Compiler Complications p. 754 Self-Test Exercises p. 756 Programming Example--A Generic Sorting Function p. 757 Programming Tip--How to Define Templates p. 762 Self-Test Exercise p. 762 Templates for Data Abstraction p. 762 Syntax for Class Templates p. 762 Programming Example--An Array Class p. 766 Self-Test Exercises p. 771 Chapter Summary p. 771 Answers to Self-Test Exercises p. 772 Programming Projects p. 774 Pointers and Linked Lists p. 777 Nodes and Linked Lists p. 778 Nodes p. 778 Self-Test Exercises p. 782 Linked Lists p. 784 Inserting a Node at the Head of a List p. 785 Pitfall--Losing Nodes p. 789 Searching a Linked List p. 789 Inserting and Removing Nodes Inside a List p. 793 Pitfall--Using the Assignment Operator with Dynamic Data Structures p. 798 Self-Test Exercises p. 798 A Linked List Application p. 799 Stacks p. 800

Programming Example--A Stack ADT p. 800 Self-Test Exercises p. 806 Chapter Summary p. 806 Answers to Self-Test Exercises p. 807 Programming Projects p. 810 Inheritance p. 815 Inheritance Basics p. 816 The Notation of Inheritance p. 817 Constructor Base Initialization List p. 817 Derived Classes p. 820 Redefinition of Member Functions p. 822 Self-Test Exercises p. 829 Programming with Inheritance p. 834 Self-Test Exercises p. 839 Overloading, Overriding, Redefinition (Optional) p. 839 Virtual Functions and Extended Type Compatability p. 841 Pitfall--The Slicing Problem p. 846 Pitfall--Not Using Virtual Member Functions p. 846 Pitfall--Attempting to Compile Class Definitions without Definitions for Every Virtual Member Function p. 847 Programming Example p. 848 Self-Test Exercises p. 853 Chapter Summary p. 853 Answers to Self-Test Exercises p. 853 Programming Projects p. 857 C++ Keywords p. 861 Precedence of Operators p. 862 The ASCII Character Set p. 864 Some Library Functions p. 865 Arithmetic Functions p. 865 Input and Output Member Functions p. 866 Character Functions p. 868 String Functions p. 869 Random Number Generator p. 871 Trigonometric Functions p. 872 The assert-statement p. 873 Inline Functions p. 875 Constructor Initialization Section p. 876 Overloading the Array Index Square Brackets p. 878 The this Pointer p. 880 Simulating the bool Type p. 883 Annotated Bibliography for C++ Language and Library Issues p. 885

Index p. 889 Table of Contents provided by Blackwell's Book Services and R.R. Bowker. Used with permission.