#include #include "constness.hpp" using std::cout; void RenderTarget::draw(const Drawable& drawable) { drawable.draw(*this); } void Shape::draw(RenderTarget& target) const { cout << "shape draw\n"; } int main() { RenderTarget target; Shape shape; target.draw(shape); return 0; }