Chapter 17. Tools for Large Programs
CONTENTS Section 17.1 Exception Handling688Section 17.2 Namespaces712Section 17.3 Multiple and Virtual Inheritance731Chapter Summary748Defined Terms748C++ is used on problems that have a wide range in complexity. It is used on problems small enough to be solved by a single programmer after a few hours' work to problems requiring enormous systems consisting of tens of millions of lines of code developed and modified over many years. The facilities we covered in the earlier parts of this book are equally useful across this range of programming problems.The language includes some features that are most useful on systems once problems get to be more complex than those that an individual can manage. These featuresexception handling, namespaces, and multiple inheritanceare the topic of this chapter.Large-scale programming places greater demands on programming languages than do the needs of systems that can be developed by small teams of programmers. Among the needs that distinguish large-scale applications are:
- Stricter up-time requirements and the need for more robust error detection and error handling. Error handling often must span independently developed subsystems.The ability to structure programs that are composed of libraries developed more or less independently.The need to deal with more complicated application concepts.