//: C09:Noinsitu.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Removing in situ functions class Rectangle { int width, height; public: Rectangle(int w = 0, int h = 0); int getWidth() const; void setWidth(int w); int getHeight() const; void setHeight(int h); }; inline Rectangle::Rectangle(int w, int h) : width(w), height(h) {} inline int Rectangle::getWidth() const { return width; } inline void Rectangle::setWidth(int w) { width = w; } inline int Rectangle::getHeight() const { return height; } inline void Rectangle::setHeight(int h) { height = h; } int main() { Rectangle r(19, 47); // Transpose width & height: int iHeight = r.getHeight(); r.setHeight(r.getWidth()); r.setWidth(iHeight); } ///:~