Both ColorBar and ColorLegend are never used polymorphically. Their Render() don't need to be virtual. One of them didn't even have a virtual destructor either.
ColorBar
ColorLegend
Render()