#pragma once class Location { protected: Location(); virtual ~Location(); friend class LocationFactory; };