Why does unreal tramsforms my C++ class into a ChildActorComponent?

When adding my cpp class into a blueprint class?

Because Blueprints is also a class and is a Actor and if you try to add actor in to actor, editor will automaticly contain them in to ChildActorComponent, same will happen if you try to add blueprint actor. ChildActorComponent role is to contain actors as component of other actor, so you can attach them toghther or make a 2 or more actors in one actor.

You can access actor object in ChildActorComponent via ChildActor varable which is also accessable in blueprints: