
C++
A Dialog: Programming with the C++ Standard Library
Steve Heller(Author)
Prentice Hall (Publisher)
Published on 11. September 2002
Book
Mixed media product
1122 pages
978-0-13-009402-5 (ISBN)
Description
Appropriate for beginning to intermediate courses on C++ programming with the Standard Template Library (STL).
In this book, programming author Steve Heller teaches C++ programming with the Standard Template Library from the ground up, using real example code that has been carefully tested with novice programmers and refined to ensure its clarity and value. Heller demystifies both C++ and STL, focusing on the concepts and techniques that will help new C++ programmers write effective real-world programs as rapidly as possible. C++: A Dialog presents concepts in the form of a friendly conversation between an expert and a beginner, with Heller explicitly guiding students past the obstacles that typically cause them the most problems. The accompanying CD-ROM contains a commercial-grade version of Borlands powerful C++ compiler, which can run all the programs presented in the book-and any other C++/STL program students choose to write.
In this book, programming author Steve Heller teaches C++ programming with the Standard Template Library from the ground up, using real example code that has been carefully tested with novice programmers and refined to ensure its clarity and value. Heller demystifies both C++ and STL, focusing on the concepts and techniques that will help new C++ programmers write effective real-world programs as rapidly as possible. C++: A Dialog presents concepts in the form of a friendly conversation between an expert and a beginner, with Heller explicitly guiding students past the obstacles that typically cause them the most problems. The accompanying CD-ROM contains a commercial-grade version of Borlands powerful C++ compiler, which can run all the programs presented in the book-and any other C++/STL program students choose to write.
More details
Language
English
Place of publication
Upper Saddle River
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Width: 235 mm
Thickness: 40 mm
Weight
1587 gr
ISBN-13
978-0-13-009402-5 (9780130094025)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Person
STEVE HELLER, President of Chrysalis Software Corporation, is a developer based in Sulphur Springs, TX. 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?
Content
List of Figures.
Foreword.
Preface.
Acknowledgments.
Letter from a Novice.
1. Introduction to Programming.
Definitions. Baby Steps.
2. Hardware Fundamentals.
Definitions. Objectives of This Chapter. Inside the Box. The Binary Number System. Exercises. Using the 16-bit Register Names. Review. Conclusion. Answers to Exercises.
3. Basics of Programming.
Definitions. Objectives of This Chapter. Rapid and Accurate Calculation. The Compiler. How the CPU Stores and Manipulates Data in Memory. The Layout of Data in Memory. Exercises, First Set. The char and string Types. using, namespace, and std. int main(). Exercises, Second Set. Input and Output. Changing the Course of Execution. The while Loop. Exercises, Third Set. Our First Slightly Realistic Program. Exercises, Fourth Set. Review. Conclusion. Answers to Exercises.
4. More Basics.
Objectives of This Chapter. Algorithmic Thinking. Handling Any Number of Prizes. Index Variables. The Selection Sort. Program Failure. Review. Exercises. Conclusion. Answers to Exercises.
5. Functional Literacy.
Definitions. Objectives of This Chapter. Modules vs. Functions. Using a Function. Software Is a Virtual Computer. Scope of Variables. The Disadvantages of Global Variables. More on Using the Stack. Review. Exercises. Conclusion. Answers to Exercises.
6. Taking Inventory.
Definitions. Objectives of This Chapter. User-defined Data Types. The StockItem class. More Definitions. Concrete Data Types. The class Scope. More about the StockItem class Interface. Working around the Standard Library. Reference Arguments. Checking Inventory for a Misplaced Item. Review. Exercises. Conclusion. Answers to Exercises.
7. Creating a homegrown string class.
Objectives of This Chapter. C String Literals vs. strings. Dynamic Memory Allocation via new and delete. Constructing a string from a C String. Assignment Operator Issues. Solving the Assignment Operator Problem. The const Modifier for Reference Arguments. Calling operator=. Review. Exercises. Conclusion.
8. Finishing our homegrown string class.
Objectives of This Chapter. The string Copy Constructor. More about the private Access Specifier. First Review. Adding Further Facilities to our string class. Initialization vs. Assignment. Second Review. Exercises. Conclusion. Answers to Exercises.
9. Inheritance.
Definitions. Objectives of This Chapter. Taking Inventory. Adding ReorderItems to the Inventory class. Adding Expiration Dates. The protected Access Specifier. static Member Functions. The stream classes. More about stringstream. Review. Exercises. Conclusion.
10. Polymorphism.
Definitions. Objectives of This Chapter. Introduction to Polymorphism. Exercises, First Set. Polymorphic Objects. More Definitions. Why We Need Polymorphic Objects. Implementing Safe Polymorphism. Reimplementing the Standard Member Functions for the New Version of StockItem. voiding an Infinite Regress During Construction. Reference Counting. Sharing a Worker Object. Why We Need m_Count in StockItem. Review. Exercises, Second Set. Conclusion.
11. The Home Inventory Project.
Definitions. Objectives of This Chapter. Data Items for the Home Inventory Project. The Manager/Worker Idiom Again. Hiding Unnecessary Information from the class User. Saving the Number of the Elements in the File. Creating a Data File Programmatically. Adding the Ability to Edit a Record. The New Member Functions of HomeItemMusic. Review. Exercises. Conclusion.
12. More on the Home Inventory Project.
Definitions. Objectives of This Chapter. Extending the Functionality of strings. How to Implement Our New string Functionality. The Include Guard. Lessons of the xstring class Implementation. Case-Insensitive Searching. Searching for an Item by a Substring. Putting It All Together. How Software Development Really Works. Review. Conclusion.
13. Analyzing the Home Inventory Project.
Definitions. Objectives of This Chapter. The Final Version of the Home Inventory Program. Using a namespace to Group Utility Functions. The Functions of the HomeUtility namespace. Checking the Inventory. Finishing up the HomeItem class. Are We Having Fun Yet? Review. Exercises. Conclusion.
Appendix A. Tying up Loose Ends.
Wrapping Up.
Appendix B. Glossary.
Special Characters. A 995. B 998. C 1000. D 1006. E 1009. F 1010. G 1013. H 1013. I 1014. K 1017. L 1017. M 1019. N 1021. O 1024. P 1026. R 1029. S 1032. T 1037. U 1038. V 1040. W 1041. Y 1041. Z 1041.
About the Author.
Bibliography.
Index.
Foreword.
Preface.
Acknowledgments.
Letter from a Novice.
1. Introduction to Programming.
Definitions. Baby Steps.
2. Hardware Fundamentals.
Definitions. Objectives of This Chapter. Inside the Box. The Binary Number System. Exercises. Using the 16-bit Register Names. Review. Conclusion. Answers to Exercises.
3. Basics of Programming.
Definitions. Objectives of This Chapter. Rapid and Accurate Calculation. The Compiler. How the CPU Stores and Manipulates Data in Memory. The Layout of Data in Memory. Exercises, First Set. The char and string Types. using, namespace, and std. int main(). Exercises, Second Set. Input and Output. Changing the Course of Execution. The while Loop. Exercises, Third Set. Our First Slightly Realistic Program. Exercises, Fourth Set. Review. Conclusion. Answers to Exercises.
4. More Basics.
Objectives of This Chapter. Algorithmic Thinking. Handling Any Number of Prizes. Index Variables. The Selection Sort. Program Failure. Review. Exercises. Conclusion. Answers to Exercises.
5. Functional Literacy.
Definitions. Objectives of This Chapter. Modules vs. Functions. Using a Function. Software Is a Virtual Computer. Scope of Variables. The Disadvantages of Global Variables. More on Using the Stack. Review. Exercises. Conclusion. Answers to Exercises.
6. Taking Inventory.
Definitions. Objectives of This Chapter. User-defined Data Types. The StockItem class. More Definitions. Concrete Data Types. The class Scope. More about the StockItem class Interface. Working around the Standard Library. Reference Arguments. Checking Inventory for a Misplaced Item. Review. Exercises. Conclusion. Answers to Exercises.
7. Creating a homegrown string class.
Objectives of This Chapter. C String Literals vs. strings. Dynamic Memory Allocation via new and delete. Constructing a string from a C String. Assignment Operator Issues. Solving the Assignment Operator Problem. The const Modifier for Reference Arguments. Calling operator=. Review. Exercises. Conclusion.
8. Finishing our homegrown string class.
Objectives of This Chapter. The string Copy Constructor. More about the private Access Specifier. First Review. Adding Further Facilities to our string class. Initialization vs. Assignment. Second Review. Exercises. Conclusion. Answers to Exercises.
9. Inheritance.
Definitions. Objectives of This Chapter. Taking Inventory. Adding ReorderItems to the Inventory class. Adding Expiration Dates. The protected Access Specifier. static Member Functions. The stream classes. More about stringstream. Review. Exercises. Conclusion.
10. Polymorphism.
Definitions. Objectives of This Chapter. Introduction to Polymorphism. Exercises, First Set. Polymorphic Objects. More Definitions. Why We Need Polymorphic Objects. Implementing Safe Polymorphism. Reimplementing the Standard Member Functions for the New Version of StockItem. voiding an Infinite Regress During Construction. Reference Counting. Sharing a Worker Object. Why We Need m_Count in StockItem. Review. Exercises, Second Set. Conclusion.
11. The Home Inventory Project.
Definitions. Objectives of This Chapter. Data Items for the Home Inventory Project. The Manager/Worker Idiom Again. Hiding Unnecessary Information from the class User. Saving the Number of the Elements in the File. Creating a Data File Programmatically. Adding the Ability to Edit a Record. The New Member Functions of HomeItemMusic. Review. Exercises. Conclusion.
12. More on the Home Inventory Project.
Definitions. Objectives of This Chapter. Extending the Functionality of strings. How to Implement Our New string Functionality. The Include Guard. Lessons of the xstring class Implementation. Case-Insensitive Searching. Searching for an Item by a Substring. Putting It All Together. How Software Development Really Works. Review. Conclusion.
13. Analyzing the Home Inventory Project.
Definitions. Objectives of This Chapter. The Final Version of the Home Inventory Program. Using a namespace to Group Utility Functions. The Functions of the HomeUtility namespace. Checking the Inventory. Finishing up the HomeItem class. Are We Having Fun Yet? Review. Exercises. Conclusion.
Appendix A. Tying up Loose Ends.
Wrapping Up.
Appendix B. Glossary.
Special Characters. A 995. B 998. C 1000. D 1006. E 1009. F 1010. G 1013. H 1013. I 1014. K 1017. L 1017. M 1019. N 1021. O 1024. P 1026. R 1029. S 1032. T 1037. U 1038. V 1040. W 1041. Y 1041. Z 1041.
About the Author.
Bibliography.
Index.