#pragma once namespace geo { class Shape { public: Shape(); double area() const; static Shape unit(); int& counter(); private: double scale(double x) const; }; class Circle : public Shape { public: double radius() const; }; double total(const Shape& shape); } // namespace geo