#include <iostream>
using namespace std;
class Shape {
private:
int width;
int height;
public:
int *a, *b;
Shape() {
a = &width;
b = &height;
}
Shape(const Shape &src) : Shape() {
width = src.width;
height = src.height;
}
Shape(Shape &&src) : Shape() {
width = src.width;
height = src.height;
}
};
class Rectangle : public Shape {
public:
void setWidth(int w) { *a = w; }
void setHeight(int h) { *b = h; }
int getArea() { return (*a * *b); }
};
int main() {
Rectangle Rect;
Rect.setWidth(5);
Rect.setHeight(7);
cout << "Total area: " << Rect.getArea() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgU2hhcGUgewpwcml2YXRlOgogICAgaW50IHdpZHRoOwogICAgaW50IGhlaWdodDsKICAgIApwdWJsaWM6CiAgICBpbnQgKmEsICpiOwoKICAgIFNoYXBlKCkgewogICAgCWEgPSAmd2lkdGg7CiAgICAJYiA9ICZoZWlnaHQ7CiAgICB9CgogICAgU2hhcGUoY29uc3QgU2hhcGUgJnNyYykgOiBTaGFwZSgpIHsKICAgICAgICB3aWR0aCA9IHNyYy53aWR0aDsKICAgICAgICBoZWlnaHQgPSBzcmMuaGVpZ2h0OwogICAgfQoKICAgIFNoYXBlKFNoYXBlICYmc3JjKSA6IFNoYXBlKCkgewogICAgICAgIHdpZHRoID0gc3JjLndpZHRoOwogICAgICAgIGhlaWdodCA9IHNyYy5oZWlnaHQ7CiAgICB9Cn07CgpjbGFzcyBSZWN0YW5nbGUgOiBwdWJsaWMgU2hhcGUgewpwdWJsaWM6CiAgICB2b2lkIHNldFdpZHRoKGludCB3KSB7ICphID0gdzsgfQogICAgdm9pZCBzZXRIZWlnaHQoaW50IGgpIHsgKmIgPSBoOyB9CiAgICBpbnQgZ2V0QXJlYSgpIHsgcmV0dXJuICgqYSAqICpiKTsgfQp9OwoKaW50IG1haW4oKSB7CiAgICBSZWN0YW5nbGUgUmVjdDsKICAgIFJlY3Quc2V0V2lkdGgoNSk7CiAgICBSZWN0LnNldEhlaWdodCg3KTsKICAgIAogICAgY291dCA8PCAiVG90YWwgYXJlYTogIiA8PCBSZWN0LmdldEFyZWEoKSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0=