Role: CATBaseUnknown supplies the infrastructure and the basic mechanisms to create interface abstract classes and to manage interface pointers. It is also the base class for classes which implements interfaces and for their extension classes because it supplies the code for the interface methods , and .