What is the c++ equivalent to BP's Class Reference?

The equivalent is UClass*

TSubclassOf<…> is like UClass but enforces a certain subclass. For e.g. if you want to have only lights (point light, directional light etc) you’d use:

TSubclassOf<ALight> LightClass;

With UClass the user can assign any class to it

To get a hold of a class type in C++ use the StaticClass() function. E.g. APointLight::StaticClass()