The first step in implementing an interface is usually to create stubs for all the member functions of that interface, after which you fill in those functions with the appropriate code. Because creating function stubs is such a tedious and mundane process, the INTERFAC directory includes such stubs. For each interface that we'll explore in this book, I've provided a C++ class for an "interface implementation," in which the CImpI<name> class implements a single interface. For each class, there's an H file with the class declaration and a CPP file with the stub implementation. In some cases, there's a full object implementation because some objects are almost always implemented the same way. The basic idea here is that you can use these files as a starting point for implementing any interface or object you need: it is very simple to quickly search and replace the names in the file.