class cBaseEntity : public iBaseEntity // und unser interface als Schablone benutzen { public: ... virtual void* SearchInterface(const GUID& InterfaceGuid); ... }; class cPlayerEntity : public cBaseEntity // Basisimplementierung benutzen \o/ , public iPlayerEntity // und unser interface als Schablone benutzen { public: ... virtual void* SearchInterface(const GUID& InterfaceGuid); ... }; class cItemEntity : public cBaseEntity // Basisimplementierung benutzen \o/ , public iItemEntity // und unser interface als Schablone benutzen { public: ... virtual void* SearchInterface(const GUID& InterfaceGuid); ... };