1234
class Circle : public GeoObj { public: virtual void draw() const override; };
template<typename T> concept GeoObject = requires(const T & x) { { x.draw() } -> std::convertible_to<void>; };