class CBaseEntity; class EHANDLE { private: edict_t *m_pent; int m_serialnumber; public: edict_t *Get( void ); edict_t *Set( edict_t *pent ); operator int (); operator CBaseEntity *(); CBaseEntity * operator = (CBaseEntity *pEntity); CBaseEntity * operator ->(); }; class CBaseEntity { ... };