C# C# Objects Inheritance Inheritance

Joseph Thompson
Joseph Thompson
3,821 Points

Getting a "Bummer" remark asking whether my "Square constructor take[s] a single parameter named sideLength?"

Can someone show me what I am missing because I see it in the constructor.

Polygon.cs
namespace Treehouse.CodeChallenges
{
    class Polygon
    {
        public readonly int NumSides;

        public Polygon(int numSides)
        {
            NumSides = numSides;
        }
    }

    class Square:Polygon
    {
        public readonly int SideLength;

        public base Square(int sideLength)
        {
            NumSide = 4;
            SideLength = sideLength;
        }
    }
}

2 Answers

Steven Parker
Steven Parker
176,321 Points

The "base" reference should come after the constructor declaration, separated by a colon, and passing in "4" as the number of sides:

        public Square(int sideLength) : base(4)

Also, you won't need the "NumSide" variable.

Joseph Thompson
Joseph Thompson
3,821 Points

Thanks, I didn't fully understand, but now it clicks and you helped point me in the right direction.