You can’t include attributesset.h header inside the of attributesset .h.
Other than that if any other of the included headers include attributesset.h then the circular dependency will remain.
It’s better to include headers in cpp files and use forward declarations with the prefix “class” in your header files.