1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
#include <iostream> using namespace std; class Rectangle { private: int length; int width; public: Rectangle(); Rectangle(int a, int b); int getlength() const; int getwidth() const; virtual int area(); }; Rectangle::Rectangle() { } Rectangle::Rectangle(int a, int b):length(a), width(b) { } int Rectangle::getlength() const { return length; } int Rectangle :: getwidth() const { return width; } int Rectangle :: area() { return length * width; } ostream& operator<<(ostream& out,const Rectangle& R) { out <<"Rectangle: length = " << R.getlength() << " " << "width = " << R.getwidth(); return out; } class Square : Rectangle { private: int side; public: Square(); Square(int a); int getside() const; int area(); }; Square::Square() { } Square::Square(int a): Rectangle(a,a) { } int Square :: area() { return side * side; } int Square::getside() const { return side; } ostream& operator<<(ostream& out,const Square& S) { out <<"Square: side = " << S.getside(); return out; } int main() { Rectangle R(8,3); cout << R << endl;; cout << R.area() << endl; Square S(5); cout << S << endl; cout << S.area() << endl; }
1234
Square::Square(int a): Rectangle(a,a) { side = a; }