Merge pull request #446 from mpark/I.25

I.25: Marked `center` and `draw` as `const`.
This commit is contained in:
Gabriel Dos Reis 2015-12-11 06:14:02 -08:00
commit 907b11a717

View File

@ -1726,8 +1726,8 @@ You just knew that `Shape` would turn up somewhere :-)
class Shape { // bad: interface class loaded with data class Shape { // bad: interface class loaded with data
public: public:
Point center() { return c; } Point center() const { return c; }
virtual void draw(); virtual void draw() const;
virtual void rotate(int); virtual void rotate(int);
// ... // ...
private: 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 class Shape { // better: Shape is a pure interface
public: public:
virtual Point center() = 0; // pure virtual function virtual Point center() const = 0; // pure virtual function
virtual void draw() = 0; virtual void draw() const = 0;
virtual void rotate(int) = 0; virtual void rotate(int) = 0;
// ... // ...
// ... no data members ... // ... no data members ...