If you have no intention of communicating with a device that doesn't use ZigBee, you probably wouldn't need a hub.
You might be interested in 'Why do I need hubs for some devices when automating my home?'—one of the main reasons the hub is needed at all is so that a ZigBee device can communicate with your Wi-Fi router and connect to the Internet. If you don't actually need to do that, you might not need a hub at all.
A ZigBee network (whether it's a mesh, star or tree) requires a coordinator device. There's a brief overview here, but one device needs to be responsible for forming and administering the network, so a hub is a straightforward option to fill that gap.
You can see in this diagram that the SmartThings hub acts as a coordinator for the home network—that's where the hub is useful.
If you were confident that the device would be able to handle the demands, you could just make ZigBee A the coordinator and run a mesh network between your devices—they'd be able to communicate fine without a hub, so long as you didn't want to connect them to the Internet.
If you were just connecting a switch to a lightbulb, you could do it without a hub. However, at that point, ask yourself: is this really better than just connecting the bulb to a switch with a wire? The whole point of automating your home is so that you can control things remotely from other devices (or a hub to schedule things automatically).