Should i create blueprint out of c++ class that i have created ?

Personally I would suggestion that it is best to use c++ when it is absolutely requried or when you sure that a code block is slow in blueprint.

Also keep in mind that for some classes if you rename or move the parent c++ class, the blueprint which inherit from that c++ will get corrupt and you will not be able to open. If you have half the logic in bp this will be an issue.