I.25: Marked center and draw as const.

This commit is contained in:
Michael Park 2015-12-11 08:09:07 -05:00
parent ccacbd6d54
commit e1d61e4655

View File

@ -1726,8 +1726,8 @@ You just knew that `Shape` would turn up somewhere :-)
class Shape { // bad: interface class loaded with data
public:
Point center() { return c; }
virtual void draw();
Point center() const { return c; }
virtual void draw() const;
virtual void rotate(int);
// ...
private:
@ -1740,8 +1740,8 @@ This will force every derived class to compute a center -- even if that's non-tr
class Shape { // better: Shape is a pure interface
public:
virtual Point center() = 0; // pure virtual function
virtual void draw() = 0;
virtual Point center() const = 0; // pure virtual function
virtual void draw() const = 0;
virtual void rotate(int) = 0;
// ...
// ... no data members ...