Here's what I think it should be:
Code:
class Rectangle
{
      protected:
             double length;
             double width;
      public:
             Rectangle::Rectangle(double l,double w);
             double area();
             
};

Rectangle::Rectangle(double l,double w)
{
             length = l;
             width = w;
}

and in main:

Rectangle r(1.0, 1.0);
However the ambiguous task specification has me baffled. What have the values 10, 20 and 30 got to do with anything? Are they meant to be default values? (which would mean Box r; would be equivalent to Box r(10,20,30); ) Similarly what have the two 1.0 values got to do with anything? Are they defaults, or are we (maybe for the sake of learning) defining a Rectangle object that will only ever compute the area of 1x1 squares, which will always be just 1? It would seem to make more sense to me for Rectangle to be generic, so you could define Rectangle r1, r2(10,2), r3(100,50), etc.