C++ has a built in RTTI system, though it's for the most part horribly worthless. As a result custom introspection used instead.
Introspection in C++ is implemented with two main methods: preprocesing step where you scan cpp files and create a database/generate CPP code; use templating. I wrote some articles on the templating technique here.
If you're more interested in just using introspection rather than implementing it, I suggest looking up clReflect, or you can try cpfg.