Hey there,
Yes, you need to add "public" to the class definition and the constructor definition of the class "Parallelogram". (It cannot be marked "Protected" since .NET throw an error saying the inherited class is less accessible than the base class). In addition to what they mentioned, please take note of below points as well.
The class "Quadrilateral" has an overridden constructor which removes the default constructor of a class. If you want the default constructor back, you need to explicitly define it again.
The class "Parallelogram" inherits from the "Quadrilateral" and has only a default constructor (i.e. no arguments). What happens here is when you create an object of "Parallelogram", .NET looks for the constructor with the same number of arguments in the base class, hence would throw an error to you. You can overcome this by changing the code to something similar below, or changing the constructor of "Parallelogram" to have similar arguments and call the base constructor.
public Parallelogram() : base(0, 0, 0, 0)
{
}
Or
public Parallelogram(double side1, double side2, double side3, double side4) : base(side1, side2, side3, side4)
{
}
public Parallelogram() : this(0, 0, 0, 0)
{
}
Hope this helps you :) Regards