class IEntity { public: virtual ~IEntity() {} virtual ClassID_t GetClassID() const = 0; virtual void* GetInterfacePtr(INode* pInterface) = 0; }; Entity* ent = new Entity(); IEntity* pEntity = (IEntity*)ent; ClassID_t classId = pEntity->GetClassID();In this example, an entity object is created, then converted to an IEntity pointer. The GetClassID function is then called on this pointer, which returns the class ID of the Entity object. This code example is from the CryEngine package library, which utilizes the ECS architecture for its game engine. The IEntity interface and its member functions are an integral part of this library, which provides the tools for game developers to create sophisticated game entities with ease.