| |
| |
Acknowledgments | |
| |
| |
| |
Preliminaries | |
| |
| |
| |
Introduction | |
| |
| |
What Is the Purpose of This Chapter? | |
| |
| |
What Are C++ FAQs? | |
| |
| |
Who Is the Target Audience for This Book? | |
| |
| |
Is This a Book about C++ Per Se? | |
| |
| |
Why Do Developers Need a Guidebook for C++ and OO Technology? | |
| |
| |
What Kind of Guidance Is Given in the Answers to These FAQs? | |
| |
| |
What Is the Electronic FAQ and Why Buy This Book When the Electronic FAQ Is Free? | |
| |
| |
Why Should You Buy This Edition if You Already Have a Copy of the First Edition? | |
| |
| |
What Conventions Are Used in This Book? | |
| |
| |
| |
Basic C++ Syntax and Semantics | |
| |
| |
What Is the Purpose of This Chapter? | |
| |
| |
What Are the Basics of Main()? | |
| |
| |
What Are the Basics of Functions? | |
| |
| |
What Are the Basics of Default Parameters? | |
| |
| |
What Are the Basics of Local (Auto) Objects? | |
| |
| |
What Are the Basics of Constructing Objects Using Explicit Parameters? | |
| |
| |
What Are the Basics of Dynamically Allocated (New) Objects? | |
| |
| |
What Are the Basics of Local Objects within Inner Scopes? | |
| |
| |
What Are the Basics of Passing Objects by Reference? | |
| |
| |
What Are the Basics of Passing Objects by Value? | |
| |
| |
What Are the Basics of Passing Objects by Pointer? | |
| |
| |
What Are the Basics of Stream Output? | |
| |
| |
What Are the Basics of Stream Input? | |
| |
| |
What Are the Basics of Using Classes That Contain Overloaded Operators? | |
| |
| |
What Are the Basics of Using Container Classes? | |
| |
| |
What Are the Basics of Creating Class Header Files? | |
| |
| |
What Are the Basics of Defining a Class? | |
| |
| |
What Are the Basics of Defining Member Functions? | |
| |
| |
What Are the Basics of Adding a Constructor to a Class? | |
| |
| |
What Are the Basics of Adding a Destructor to a Class? | |
| |
| |
What Are the Basics of Defining a Class That Contains a Pointer to an Object Allocated from the Heap? | |
| |
| |
What Are the Basics of Global Objects? | |
| |
| |
What Are the Basics of Throwing and Catching Exceptions? | |
| |
| |
What Are the Basics of Inheritance and Dynamic Binding? | |
| |
| |
| |
Understanding the Management Perspective | |
| |
| |
What Is the Purpose of This Chapter? | |
| |
| |
What Is the Core Message of This Chapter (and This Book)? | |
| |
| |
Why Are the Managers in Charge Rather Than the Developers Who Understand Technology? | |
| |
| |
How Can Someone Manage Something They Don't Understand? | |
| |
| |
What Is the Most Common Mistake on C++ and OO Projects? | |
| |
| |
What's the "Software Peter Principle?" | |
| |
| |
Should an Organization Use OO on All Its Projects? | |
| |
| |
Can OO Be Ignored Until It Goes Away? | |
| |
| |
What OO Language Is Best? | |
| |
| |
What Is the Right Approach to Processes and Tools? | |
| |
| |
What Is the Right Approach with Off-the-Shelf Class Libraries and Frameworks? | |
| |
| |
| |
The Architectural Perspective | |
| |
| |
What Is the Purpose of This Chapter? | |
| |
| |
Why Is Software Architecture Important? | |
| |
| |
What Should the Architecture Be Based on, the Problem Being Solved or the Problem Domain? | |
| |
| |
Should the Software Architecture Be Based on the Policy of the Problem? | |
| |
| |
Do Customers Ever Change Their Requirements? | |
| |
| |
Are Stable Requirements Desirable? | |
| |
| |
What Is the Key to Planning for Change? | |
| |
| |
What Is a Framework? | |
| |
| |
What Is the "Inversion of Control" Exhibited by Frameworks? | |
| |
| |
What Is an Extensible, Domain-Specific Framework? | |
| |
| |
What Characteristics Make a Framework Extensible Yet Domain-Specific? | |
| |
| |
What Happens if the Domain Analysis Is Incorrect? | |
| |
| |
How Much Effort Should Be Expended to Support Change That Is, How Much Is Extensibility Worth? | |
| |
| |
How Does an Architect Make the Softwa | |