You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
550 B
29 lines
550 B
#include <iostream>
|
|
#include "fix2.hpp"
|
|
#include <cassert>
|
|
|
|
using std::cout;
|
|
|
|
void RenderTarget::draw(const Drawable& drawable) {
|
|
drawable.draw(*this);
|
|
}
|
|
|
|
void Shape::draw(RenderTarget& target) const {
|
|
assert(false && "You should not call this, use shape.draw(target) instead.");
|
|
}
|
|
|
|
void Shape::draw(RenderTarget &target) {
|
|
cout << "shape renders without const instead\n";
|
|
}
|
|
|
|
int main() {
|
|
RenderTarget target;
|
|
Shape shape;
|
|
|
|
// uncomment this to see the error when used wrong
|
|
// target.draw(shape);
|
|
|
|
shape.draw(target);
|
|
|
|
return 0;
|
|
}
|
|
|