Overlapping doesn' happen

I think OnActorBeginOverlap is a blueprint event, not a c++ method you can override. Try adding your overlap function as a delegate to the CollisionMesh like so:

CollisionMesh->OnComponentBeginOverlap.AddDynamic( this, &AZone::OnActorBeginOverlap);

You might have to change the signature of AZone::OnActorBeginOverlap to match OnComponentBeginOverlap though.