Free Shipping in Australia on over 5 million books in stock
Learning to Program in C++ By Steve Heller

Learning to Program in C++

In Stock
$45.99
inc. GST
This title explains C++ from the ground up for the novice programmer, it contains tips throughout. The author maintains a web site with additional/updated information.
Only 1 left

Learning to Program in C++ Summary


Learning to Program in C++ by Steve Heller

For introductory courses in C++.

There are dozens of introductory C++ books on the market, but few of them are effective in training the complete novice, as they make too many assumptions of prior knowledge. Unlike other introductory C++ books, this book was developed with the assistance of a complete novice to the language. Her comments are questions were incorporated in the text to assist readers who have had no previous experience with programming.

Many readers, whether taking formal C++ course or studying on their own, report that the approach this book takes is far superior to any other they have encountered. A number of customer comments on Amazon.com also testify to its effectiveness.

Why buy from World of Books

Our excellent value books literally don't cost the earth
Free delivery in Australia
Read more here
Every used book bought is one saved from landfill

About Steve Heller


STEVE HELLER, President of Chrysalis Software Corporation, is a developer based in Sulphur Springs, Texas. His books include The C++ Training Guide, The Java Training Guide, Introduction to C++, Optimizing C++, Efficient C/C++, and Who's Afraid of Java?

Table of Contents




Foreword.


Preface.


Acknowledgements.


Letter from a Novice.


1. Introduction to Programming.

Definitions. How to Write a Program. Baby Steps. On with the Show.



2. Hardware Fundamentals.

Definitions. Objectives of This Chapter. Behind the Curtain. Disk. 1985: A Space Odyssey. RAM. Return to Sender, Address Unknown. The CPU. RAM vs CPU Speeds. A Memory Hierarchy. Caching In. Please Register Here. Odometer Trouble. The First Few Numbers. The Next Few Numbers. How Many Combinations? Back to the Future. Over-Hexed. Binary to Hex Conversion Table. Different Representations of the Same Numbers. Exercises. Registering Relief. 32 and 16 Bit Registers, before Add Ax,1. 32 and 16 Bit Registers, after Add Ax,1. 32 and 16 Bit Registers, after Add Eax,1. On a RAMpage. Registering Bewilderment. 32- and 16-Bit Register Codes. Slimming the Program. A Fetching Tale. Instruction Execution Time, Using Registers and Prefetching. Review. Conclusion. Answers to Exercises.



3. Basics of Programming.

Definitions. Objectives of This Chapter. Speed Demon. Blaming It on the Computer. That Does Not Compute. Lost in Translation. A Little Numeric Calculation. What's Going on Underneath? A Small Section of RAM. Who's on First? One Little Endian. A Big Endian Example. Exercises, First Set. Exercise 1. Underware? A Really Little Numeric Calculation. Compiling, Part 3. Execution Is Everything. A Cast of Characters. Some Real Characters and Strings (CodeBasic00.Cc). Yet Another Small Section of RAM. A Byte by Any Other Name. Some Strings Attached. Special Characters for Program Text. Exercises, Second Set. A Small Section of RAM. In and Out. Some Simple Output (CodeBasic01.Cc). Some Simple Input and Output (CodeBasic02.Cc). If Only You Knew. Using an If Statement (CodeBasic03.Cc). While We're on the Subject. Using a While Statement (CodeBasic04.Cc). Exercises, Third Set. Just Up the Block. At the Fair. A C++ Program (CodePump1.Cc). Novice Alert. Take It for a Spin. Exercises, Fourth Set. Review. Conclusion. Answers to Exercises. First Dinner Party Program (CodeBasic05.Cc). Second Dinner Party Program (CodeBasic06.Cc). Else If Example. Name and Age Program (CodeBasic07.Cc). Novice Program (CodeBasic08.Cc). Allowance Program (CodeBasic09.Cc).



4. More Basics.

Objectives of This Chapter. Algorithmic Thinking. Finding the Top Two Weights, First Try (CodePump1a.Cc). A Prize Catch. Susan's Solution to the Bug in the First Attempt. Using an If Statement with an Else Clause. Finding the Top Two Weights (CodePump2.Cc). What A Tangled Web We Weave. You May Already Have Won. Variables, By The Numbers. Using A Vector (CodeVect1.Cc). Zero Isn't Nothing. Index Variables. Using A For Statement (From CodeVect1.Cc). Sorting The Weights (From CodeVect1.Cc). Elements Vs Values. Details, Details. Initial Situation. After The First Pass. After The Second Pass. Final Situation. To Err Is Human. A Possible Error Message. Sorting The Weights, Again (From CodeVect1.Cc). Sorting The Weights, With Correct Initialization (From CodeVect2.Cc). To Really Foul Things Up Requires A Computer. What, Me Worry? Garbage In, Garbage Out. Garbage Prevention, First Attempt (From CodeVect2a.Cc). Finding The Top Three Weights Using Vectors (CodeVect3.Cc). Review. Exercises. Exercise 1 (CodeMorbas00.Cc). Exercise 2 (CodeMorbas01.Cc). Conclusion. Answers To Exercises. Weight Requesting Program, First Try (CodeMorbas02.Cc). Error Messages From The Erroneous Weight Program (CodeMorbas02.Cc). The Corrected Weight Program (CodeMorbas03.Cc). The Weight Totaling Program (CodeMorbas04.Cc).



5. Functional Literacy.

Definitions. Objectives of This Chapter. Functioning Normally. A Sample Program with Duplicated Code (CodeNofunc.Cc). A Function Call. Above Average. A Function to Average Two Values. Return to Sender. For the Sake of Argument. Argument Passing with One Argument (CodeBirthday.Cc). General Delivery. Using a Function. Using the Average Function (CodeFunc1.Cc). A Convincing Argument. The Man Behind the Curtain. The Object of My Affections. Making an Executable. Operating Systematically. Using Your Library Card. Automatic Pilot. Stacking the Deck. A Stack with One Entry. A Stack with Two Entries. A Stack with Three Entries. Don't Call Me, I'll Call You. How It All Stacks Up. An Empty Stack. The Stack Immediately after the Call to Average. The Stack after Auto Variable Allocation. Scoped Out. Scope Vs Storage Class. Static Cling. Using an Auto Variable and Initializing It (CodeCount1.Cc). Using an Auto Variable and Not Initializing It (CodeCount2.Cc). Using a Local Static Variable and Initializing It (CodeCount3.Cc). Using a Local Static Variable and Not Initializing It (CodeCount4.Cc). Using a Global Variable and Not Initializing It (CodeCount6.Cc). Using a Global Variable and Initializing It (CodeCount5.Cc). Using Variables of Different Scopes and Storage Classes (CodeScopclas.Cc). The Results of Using Variables of Different Scopes and Storage Classes (CodeScopclas.Out). Exercises, First Set. Exercise 1a (CodeInita.Cc). Exercise 1b (CodeInitb.Cc). Exercise 1c (CodeInitc.Cc). Exercise 1d (CodeInitd.Cc). Exercise 1e (CodeInite.Cc). Exercise 1f (CodeInitf.Cc). Think Globally? A BASIC Difficulty. I Say "Live It, Or Live with It". Nesting Instinct. The Stack after the Initialization of Result. The Stack after Exiting from Average. Review. Exercises, Second Set. Exercise 2 (CodeCalc1.Cc). Conclusion. Answers to Exercises. The Stack Immediately before the Call to Mess. Immediately before Executing the First Instruction in Mess. The Stack after Mess Has Declared the Auto Variable Xyz. The Stack after Xyz Has Been Initialized. The Stack before Counter Is Called. Immediately Upon Entry to Counter. Before Execution of the First Instruction in Counter.



6. Taking Inventory.

Definitions. Objectives Of This Chapter. Pay Some Attention To The Man Behind The Curtain. Taking Stock. The Initial Sample Program For The Stockitem Class (CodeItemtst1.Cc). More Definitions. Common Behavior. Comparison Between Native And User-Defined Types. The Initial Interface Of The Stockitem Class (CodeItem1.H). The Default Constructor For The Stockitem Class (From CodeItem1.Cc). Another Way To Write The Default Stockitem Constructor. Go To The Head Of The Class. Shop Till You Drop. Another Constructor For The Stockitem Class (From CodeItem1.Cc). Display Member Function For The Stockitem Class (From CodeItem1.Cc). The Initial Interface Of The Stockitem Class (CodeItem1.H). The Initial Implementation Of The Stockitem Class (CodeItem1.Cc). Vectoring In. Reading And Displaying A Vector Of Stockitems (CodeItemtst2.Cc). The Read Function For The Stockitem Class (From CodeItem2.Cc). The Second Version Of The Interface For The Stockitem Class (CodeItem2.H). References Required. Don't Fence Me In. Can I Help You? First Attempt To Update Inventory Of Stockitems (CodeItemtst3.Cc). Access Denied. An Enhanced Interface For The Stockitem Class (CodeItem4.H). The Customer Is Always Right. Some New Functions For The Stockitem Class (From CodeItem4.Cc). Updating Stockitem Inventory (CodeItemtst4.Cc). Next Customer, Please? Interface Of Inventory Class (CodeInvent1.H). Default Constructor For Inventory Class (From CodeInvent1.Cc). Loadinventory Function For Inventory Class (From CodeInvent1.Cc). Nothing Ventured, Nothing Gained. The Implementation Of Isnull (From CodeItem5.Cc). Finditem Function For Inventory Class (From CodeInvent1.Cc). Updateitem Function For Inventory Class (From CodeInvent1.Cc). The Implementation Of Getupc (From CodeItem5.Cc). The Implementation Of Getprice (From CodeItem5.Cc). Current Interface For Inventory Class (CodeInvent1.H). Current Implementation For Inventory Class (CodeInvent1.Cc). Current Interface For Stockitem Class (CodeItem5.H). Current Implementation For Stockitem Class (CodeItem5.Cc). Updated Inventory Application (CodeItemtst5.Cc). Paging Rosie Scenario. Review. Exercises. Conclusion. Answers To Exercises. The Write Member Function For The Stockitem Class (From CodeItem6.Cc). The Storeinventory Member Function For The Inventory Class (From CodeInvent2.Cc). The Changes To The Application Program (From CodeItemtst6.Cc).



7. Stringing Along.

Objectives of This Chapter. Playing out the String. The String Class Interface, Initial Version (CodeString1.H). The Initial Implementation for the String Class (CodeString1.Cc). The Default Constructor for the String Class (From CodeString1.Cc). Passing Along a Few Pointers. The Dynamic Duo, New and Delete. An Empty String in Memory. Our First Test Program for The String Class (CodeStrtst1.Cc). Caution: Construction Area. The Char* Constructor for the String Class (From CodeString1.Cc). String N During Construction. A Simple Test Program for the String Class (CodeStrtst1.Cc). Constructive Criticism? The Char* Constructor for the String Class, Again (From CodeString1.Cc). Tricky Assignment. String N in Memory. Strings N and S in Memory after Compiler-Generated =. Assignment Of Responsibility. Strings N and S in Memory after Custom =. References Required. The Declaration of Operator = For the String Class. Hello, Operator? Calling the Operator = Implementation. What Is the Meaning of This? The Assignment Operator (Operator =) For the String Class (from CodeString1.Cc). Equality Now! Please Delete Me, Let Me Go. Running on Empty. the Next Assignment. A Hypothetical Assignment Operator (Operator =) for the String Class with Explicit This. The Terminator. The Destructor for the String Class (from Code/String1.Cc). Review. Exercises. Exercise 1 (CodeStrex1.Cc). Exercise 2 (CodeStrex2.Cc). Exercise 3 (CodeStrex3.Cc). Conclusion. Answers to Exercises.



8. Down the Garden Path.

Objectives of This Chapter. For Reference Only. Call by Value ("Normal Argument") Using the Compiler-Generated Copy Constructor. Unfair Copy. Call by Reference. Our First Test Program for the String Class (CodeStrtst1.Cc). Temporary Help Wanted. Assigning a C String to a String Via String::String(Char*). Copy Cat. The String Class Interface (CodeString1.H). The Copy Constructor for the String Class. Screen Test. The String Class Interface, with Display Function (CodeString3.H). The String Class Test Program, Using the Display Function (CodeStrtst3.Cc). The String Class Implementation of the Display Function. A Character Study. Array of Hope? Dangerous Characters (CodeDangchar.Cc). A Slippery Character. Overwrought. Reaping the Whirlwind. Private Property: Keep Out! Attempted Privacy Violation (CodeStrtst3a.Cc). Maintenance Required. Yet Another Version of the String Class Interface (CodeString4.H). The String Class Implementation of the Getlength Function (from CodeString4.Cc). Using the Getlength Function in the String Class (CodeStrtst4.Cc). First Review. a String of Wins. Sorting a Vector of Strings (CodeStrsort1.Cc). The Updated String Class Interface, Including Comparison and I/O Operators (CodeString5.H). Less Than Obvious. Down for the Count. Strings X and Y in Memory. Strings X and Y in Memory, with an Embedded Null Byte. Using Operator For Strings (CodeStrtst5x.Cc). The Implementation of Operator for Strings (from CodeString5a.Cc). For Better Or Worse? Is Our Character Less Than the Other One? (from CodeString5a.Cc). The Else Clause in the Comparison Loop (from CodeString5a.Cc). Handling the Return Value (from CodeString5a.Cc). A Greater Cause. Simple Pleasures. Implementing Operator for Strings (from CodeString5.Cc). Equalization of Opportunity. Implementing Operator == for Strings (From CodeString5.Cc). Displaying Expertise. Down by the Old Cout Stream. Chaining Several Operator << Expressions Together (CodeCout1.Cc). Gently Down the Stream. Friends of Global Progress. An Operator << Function to Output a String (From CodeString5.Cc). Members and Friends Only. Why We Need a Global Function for Operator <<. Reader and Advisor. An Operator >> Function to Input a String (from CodeString 5.Cc). Initial Here. Error from an Uninitialized Const (CodeString5x.Out). Use of a Non-Const Array Size (CodeString5y.Cc). Trying to Compile a Program with a Non-Const Array Size (CodeString5y.Out). Pointers and Setters. Second Review. Exercises. Exercise 1 (CodeStrex5.Cc). Exercise 2 (CodeStrex6.Cc). Conclusion. Answers to Exercises. The String Class Interface File (From CodeString6.H). The String Class Implementation of Operator . The String Class Implementation of Operator =. The String Class Implementation of Operator != (from CodeString6.Cc). The String Class Implementation of Operator (from CodeString6.Cc). The Test Program for the Comparison Operators of the String Class (CodeStrcmp.cc).



9. Stocking Up.

Definitions. Objectives of This Chapter. Under Control. The Next Stockitem Header File (CodeItem20.H). The Next Implementation of Stockitem (CodeItem20.Cc). Taking Inventory. The Next Header File for the Inventory Class (CodeInvent20.H). Claiming an Inheritance. The Stockitem Test Program for the Base Stockitem Class (CodeItmtst20.Cc). The Implementation of the Inventory Class (CodeInvent20.Cc). The Reorder Function for the Stockitem Class (from CodeItem20.Cc). A Dated Approach. Ancestor Worship. Simplified Interface for Stockitem and Datedstockitem Classes (CodeItema.H). A Simplified Stockitem Object. A Datedstockitem Object. More Definitions. Protection Racket. A Derived Class Object with Its Base Class Part. Stock Footage. The Next Version of the Inventory Control Test Program (CodeItmtst21.Cc). Full Interface for Stockitem and Datedstockitem (CodeItem21.H). Latest Implementation of Stockitem Class and First Implementation of Datedstockitem Class (CodeItem21.H). Class Interests. Private Bequest. Getting Static. Datedstockitem::Today() (from CodeItem21.Cc). Stream of Consciousness. A Simple Stream Example (CodeStream1.Cc). An Empty Ostream Object. An Ostream Object with Some Data. An Ostream Object with Some More Data. An Empty Ostream Object. We All Stream for Strstream. A Strstream Formatting Example (CodeStream2.Cc). An Empty Strstream Object. A Strstream Object with Some Contents. A Strstream Object with Some More Contents. A Strstream Object with Even More Contents. A Strstream Object after Reading Its Contents. Use It or Lose It. Default Formatting Example (CodeCoutdef1.Cc). Output of Default Formatting Example (CodeCoutdef1.Out). Output of Controlled Formatting Example (CodeCoutdef2.Out). Manipulative Behavior. Controlled Formatting Example (CodeCoutdef2.Cc). Baseless Accusations? Default Constructor for Datedstockitem (from CodeItem21.Cc). Specifying the Base Class Constructor for a Derived Class Object. Constructing a Default Datedstockitem Object. Normal Constructor for Datedstockitem (from CodeItem21.Cc). Constructing a Datedstockitem Object. Reordering Priorities. Reorder Function for Datedstockitem (from CodeItem21.Cc). Calling Reorder through a Stockitem Pointer, Part 1. Calling Reorder through a Datedstockitem Pointer. Calling Reorder through a Stockitem Pointer, Part 2. Function Call Example (CodeNvirtual.Cc). Function Call Example Output (CodeNvirtual.Out). Simplified Implementation for Stockitem and Datedstockitem Classes (CodeItema.Cc). Review. Exercises. Conclusion.



10. Pretty Poly.

Definitions. Objectives of This Chapter. Polymorphism. Virtual Certainty. Dangerous Polymorphism: Interfaces of Stockitem and Datedstockitem with Virtual Reorder Function (CodeItemb.H). Virtual Function Call Example Output (CodeVirtual.Out). A Simplified Stockitem Object without Virtual Functions. Dangerous Polymorphism: A Simplified Stockitem Object with a Virtual Function. Dangerous Polymorphism: A Simplified Datedstockitem Object with a Virtual Function. Dangerous Polymorphism: Calling a Virtual Reorder Function Through a Stockitem Pointer to a Stockitem Object. Dangerous Polymorphism: Calling a Virtual Reorder Function Through a Datedstockitem Pointer to a Datedstockitem Object. Dangerous Polymorphism: Calling a Virtual Reorder Function through a Stockitem Pointer to a Datedstockitem Object. Dangerous Polymorphism: A Simplified Stockitem Object with Two Virtual Functions. Dangerous Polymorphism: A Simplified Datedstockitem with Two Virtual Functions. a Pointed Reminder. Dangerous Polymorphism: Using Operator << with a Stockitem* (CodePolyioa.Cc). Result of Using Operator << With a Stockitem* (CodePolyioa.Out). Dangerous Polymorphism: Stockitem Interface with Operator << and Operator >> (CodeItemc.H). Dangerous Polymorphism: Stockitem Implementation with Operator << and Operator >> (CodeItemc.Cc). Dangerous Polymorphism: The Implementation of Operator << with a Stockitem* (From CodeItemc.Cc). The Old Switcheroo. Dangerous Polymorphism: Stockitem::Write (From CodeItemc.Cc). Dangerous Polymorphism: Datedstockitem::Write (from CodeItemc.Cc). It's Not Polite to Point. Dangerous Polymorphism: Using Operator >> and Operator << with a Stockitem* (CodePolyiob.Cc). Dangerous Polymorphism: The Results of Using Operator >> and Operator << with a Stockitem* (CodePolyiob.Out). Dangerous Polymorphism: The Implementation of Operator >> (From CodeItemc.Cc). Exercises, First Set. Pretty Polly Morphic. More Definitions. Paging Miss Management. Dangerous Polymorphism: Using Operator >> and Operator << with a Stockitem* (CodePolyiob.Cc). Safe Polymorphism: Using Operator >> and Operator << with a Polymorphic Stockitem (CodePolyioc.Cc). Safe Polymorphism: The Polymorphic Object Version of the Stockitem Interface (CodeItemp.H). We'll Manage Somehow. Safe Polymorphism: The Undatedstockitem and Datedstockitem Interfaces for the Polymorphic Version of Stockitem (CodeItempi.H). Safe Polymorphism: The Implementation of the Undatedstockitem and Datedstockitem Classes (CodeItemp.Cc). Safe Polymorphism: The Implementation of Operator << for a Polymorphic Stockitem (from CodeItemp.Cc). Safe Polymorphism: A Polymorphic Stockitem Object with No Date. Safe Polymorphism: A Polymorphic Stockitem Object with a Date. A Simplified Version of the Structure of a Datedstockitem Object. Setting the Standard. Safe Polymorphism: The Default Constructor for the Polymorphic Stockitem Class (from CodeItemp.Cc). Safe Polymorphism: A Default-Constructed Polymorphic Stockitem Object. Safe Polymorphism: The Default Constructor for the Undatedstockitem Class (From CodeItemp.Cc). Base Instincts. Safe Polymorphism: Implementing a Special Protected Constructor for Stockitem (from CodeItemp.Cc). References Count. Starring Sharon Sharalike. Safe Polymorphism: An Example Program for Reference-Counting with Stockitems (CodeRefcnt1.Cc). Safe Polymorphism: A Normal Constructor to Create a Stockitem without a Date (From CodeItemp.Cc). Safe Polymorphism: A Polymorphic Stockitem Object with an Undatedstockitem Worker. Safe Polymorphism: A Normal Constructor That Constructs a Stockitem Having a Date (from CodeItemp.Cc). Safe Polymorphism: A Polymorphic Stockitem Object with a Datedstockitem Worker. Safe Polymorphism: The Copy Constructor for Stockitem (from CodeItemp.Cc). Safe Polymorphism: Two Polymorphic Stockitem Objects Sharing the Same Undatedstockitem Worker Object. Safe Polymorphism: The Assignment Operator (Operator =) for Stockitem (From CodeItemp.Cc). Safe Polymorphism: Two Polymorphic Stockitem Objects Sharing the Same Datedstockitem Worker Object. Safe Polymorphism: A Polymorphic Stockitem Object. The Last Shall Be First. Safe Polymorphism: The Destructor for the Stockitem Class (from CodeItemp.Cc). Going, Going, Gone. Safe Polymorphism: The Destructor for the Stockitem Class (from CodeItemp.Cc). For the Benefit of Posterity. Review. Exercises, Second Set. Conclusion.



11. The Home Inventory Project.

Definitions. Objectives of This Chapter. Homing in. What It Is, Mama! Interface R Us. The Initial Interface for the Homeitem Manager Class (Code/Hmit1.H). Deja Vu All over Again. The Initial Interface for the Homeitembasic and Homeitemmusic Worker Classes (CodeHmiti1.H). What They Don't Know Won't Hurt Them. The Initial Test Program for the Homeitem Classes (CodeHmtst1.Cc). Results of Running the First Homeitem Test Program (CodeHmit1.Out). Initial Implementation of Homeitem Manager and Worker Classes (CodeHmit1.Cc). Homeitem::Write (from CodeHmit1.Cc). The Homeitem Implementation of Operator >> (from CodeHmit1.Cc). The (Incorrect) While Loop in the Original Implementation of Operator >>. Making All Local Stops. What Have I Started? A Legal Program (CodeFortest.Cc). Stereo Typing. An Incorrect Default Constructor for the Homeitembasic Class. Homeitembasic::Gettype (from CodeHmit1.Cc). Homeitemmusic::Gettype (from CodeHmit1.Cc). Homeitembasic::Write (from CodeHmit1.Cc). Virtual Reality. Homeitemmusic::Write (from CodeHmit1.Cc). The Initial Homeinventory Class Interface (CodeHmin2.H). The Initial Implementation of Homeinventory (CodeHmin2.Cc). Waste Not, Want Not. You Can Get What You Need. Another Possible Implementation of Loadinventory (from CodeHmin2a.Cc). A Smith and Wesson Beats Four Aces. Yet Another Implementation of Loadinventory (from CodeHmin3.Cc). Everything Is More Complicated Than It Looks. Back to the Future. The Next Interface for the Homeinventory Class (CodeHmin4.H). The Additem Member Function of Homeinventory (from CodeHmin4.Cc). The New Interface for Homeitem (CodeHmit4.H). The Implementation of Homeitem::Newitem() (From CodeHmit4.Cc). The New Version Of Operator >> (from CodeHmit4.Cc). Strong Like Bool. Homeitembasic::Formatteddisplay (from CodeHmit4.Cc). Homeitemmusic::Formatteddisplay (from CodeHmit4.Cc). Leaving Well Enough Alone. the Test Program for Adding a Homeitem Interactively (Hmtst4.Cc). The Next Version of the Interface for Homeinventory (CodeHmin5.H). The Next Version of The Homeinventory Test Program (CodeHmtst5.Cc). The Edititem Function of Homeinventory (From CodeHmin5.Cc). 'Tis a Gift to Be Simple. The Latest Version of the Homeitem Class Interface (CodeHmit5.H). Homeitem::Edit (from CodeHmit5.Cc). Homeitembasic::Copydata(). Better Read Than Dead. The Latest Version of Operator >> (From CodeHmit5.Cc). For Your Eyes Only. The Latest Version of the Interface for the Homeitem Worker Classes (CodeHmiti5.H). U Pluribus Enum. Homeitembasic::Getfieldname (from CodeHmit5.Cc). Taking a Shortcut. Homeitem::Read (from CodeHmit5.Cc). Homeitembasic::Read (from CodeHmit5.Cc). Homeitembasic::Readinteractive (from CodeHmit5.Cc). This Must Be the Place. Homeitembasic::Readfromfile (From CodeHmit5.Cc). Homeitembasic::Edit (From CodeHmit5.Cc). Homeitembasic::Formatteddisplay (from CodeHmit5.Cc). Homeitembasic::Editfield (from CodeHmit5.Cc). Facing the Music. Homeitemmusic::Formatteddisplay (from CodeHmit5.Cc). Maintaining Our Position. Homeitemmusic::Readinteractive (from CodeHmit5.Cc). Homeitemmusic::Readfromfile (from CodeHmit5.Cc). Homeitemmusic::Editfield (from CodeHmit5.Cc). Review. Exercises. Conclusion.



12. Homeward Bound.

Definitions. Objectives of This Chapter. Super-String Theory. The New String Class Interface (CodeString7.H). Batteries Not #Included. Construction Ahead. Default Is Mine. A Simplified Interface File for w String Class (CodeString7x.H). An Alternate String(Short Length) Constructor (from CodeString7x.Cc). Warning: Explicit Material. An Explicit Constructor Call Vs an Implicit One (CodeStrtstx.Cc). The String(Short, Char) Constructor for the String Class (From CodeString7.Cc). Adding Insult to Injury. Using Operator + for String Concatenation (CodeStrtst7a.Cc). The Implementation of Operator + for the String Class (from CodeString7.Cc). Inner Peace. The New Implementation of Operator >> (from CodeString7.Cc). Location, Location, Location. Using String::Find_Nocase (CodeStrtst7b.Cc). The Implementation of String::Find_Nocase (from CodeString7.Cc). The Less_Nocase Function (from CodeString7.Cc). Home, Sweet Home. The Latest Home Inventory Application Program (CodeHmtst6.Cc). The Latest Version of the Homeinventory Interface (Hmin6.H). Homeinventory::Finditembydescription (from CodeHmin6.Cc). The New Version of the Homeitem Interface (CodeHmit6.H). Homeitembasic::Isnull (from CodeHmit6.Cc). Nothing Ventured, Nothing Gained. A Slightly Odd Default Constructor for Homeitem (From CodeHmit2.Cc). Error Messages Triggered by Accidental Use of 0 to Initialize a String (CodeHmit6a.Err). Putting It All Together. First Test Session: Change Requests and Problem Reports. Second Test Session: Change Requests and Problem Reports. Third Test Session: Change Requests and Problem Reports. Fourth Test Session: Change Requests and Problem Reports. Fifth Test Session: Change Requests and Problem Reports. Round and Round We Go. Review. Exercises. Conclusion.



13. Stealing Home.

Definitions. Objectives of This Chapter. The Final Voyage. The Main() Function of the Final Version of the Home Inventory Main Program (from CodeHmtst8.Cc). The Menuitem Enum (from CodeHmtst8.Cc). The Getmenuchoice Function (from CodeHmtst8.Cc). Executemenuchoice (from CodeHmtst8.Cc). Utility Room. The Homeutility Interface (CodeHmutil1.H). Homeutility::Ignoretillcr (from CodeHmutil1.Cc). Homeutility::Handleerror (from CodeHmutil1.Cc). Homeutility::Checknumericinput (from CodeHmutil1.Cc). Number, Please. Making a List, Checking It Twice. Homeutility::Checkdateinput (from CodeHmutil1.Cc). Enter Here. Homeutility::Getnumberorenter (from CodeHmutil1.Cc). Secret Decoder Ring Not Required. The Rest of the Story. I Can See Clearly Now. Homeutility::Clearrestofscreen (from CodeHmutil1.Cc). The Final Frontier. The Homeutility::Selectitem Function (from CodeHmutil1.Cc). Checking the Inventory. the Latest Header File for the Homeinventory Class (CodeHmin8.H). The Latest Version of Additem (from CodeHmin8.Cc). The New Version of the Edititem Function (from CodeHmin8.Cc). The Latest Implementation of Locateitembydescription (from CodeHmin8.Cc). Homeinventory::Locateitembycategory (from CodeHmin8.Cc). The Printnames Function (from CodeHmin8.Cc). The Printall Function (from CodeHmin8.Cc). The Storeinventory Function (from CodeHmin8.Cc). The Displayitem Function (from CodeHmin8.Cc). A Better Sort of Function. The Sortinventorybyname Function (from CodeHmin8.Cc). The Selectitembypartialname Function (from CodeHmin8.Cc). The Selectitemfromnamelist Function (from CodeHmin8.Cc). Categorical Imperative. The Selectitemfromcategorylist Function (from CodeHmin8.Cc). The Deleteitem Function (from CodeHmin8.Cc). Homing In. The New Operator >> Implementation (from CodeHmit8.Cc). The Latest Version of the Homeitembasic::Edit Function (from CodeHmit8.Cc). The Newest Version of Homeitembasic::Readinteractive (from CodeHmit8.Cc). The New Version of the Homeitembasic::Edititem Function (from CodeHmit8.Cc). The Latest Version of Homeitemmusic::Readinteractive (from CodeHmit8.Cc). The Latest Version of Homeitemmusic::Editfield (from CodeHmit8.Cc). Are We Having Fun Yet? Review. Exercises. Conclusion.



Appendix A: Tying Up Loose Ends.

Operator Precedence. Another Native Data Type. Wrapping Up.



Appendix B: Glossary.


About the Author.


Index.

Additional information

GOR002632930
Learning to Program in C++ by Steve Heller
Steve Heller
Used - Good
Hardback
Pearson Education (US)
2000-11-27
1120
0130324108
9780130324108
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
The book has been read but remains in clean condition. All pages are intact and the cover is intact. Some minor wear to the spine.