C++ (Qt)Class1 cls1;Class2 cls2;
C++ (Qt)typedef long long TID;// потомки CReference имеют уникальное IDstruct CReference { ... TID mID; static std::map <TID, CReference *> mMapID; // мапа ID - указатель}; // др объекты могут хранить ID потомков CRefTarget struct CRefTarget : virtual public CReference { ...}; // потомки CRefHandler могут хранить ID CRefTarget'ов struct CRefHandler : virtual public CReference {..};