It is okay, but consider a better class design like like making SuperEntity a child class from Entity. Why is it a member? Does it really
have to be a member? Saving an int isnt a great deal.
You also need to delete the Entity in the SuperEntity destructor code.
Another solution is:
SuperEntity::SuperEntity(Entity *pointer)
{
entity_ = pointer;
};