class AnInterface; typedef AnInterface *AnInterface_ptr; class AnInterface_var; class AnInterface : public virtual Object { public: typedef AnInterface_ptr _ptr_type; typedef AnInterface_var _var_type; static AnInterface_ptr _duplicate (AnInterface_ptr obj); static AnInterface_ptr _narrow (Object_ptr obj); static AnInterface_ptr _nil (); virtual ... AnOperation (...) = 0; protected: AnInterface (); virtual ~AnInterface (); ... }