I wrote this program to demonstrate overloading a constructor, but I'm getting an error. Please tell me what's wrong so I can never again make this mistake, thanks
Error w/ gcc 3.2:
program.cpp: In function `int main(int, char**)':
program.cpp:50: request for member `DrawShape' in `theRect1()', which is of
non-aggregate type `Rectangle ()()'
Here's the program:
Code:
#include <iostream>

using namespace std;

class Rectangle
{
public:
  Rectangle ();
  Rectangle (int heigth, int width);
   ~Rectangle ();
  void DrawShape () const;
private:
  int itsH;
  int itsW;
};

Rectangle::Rectangle ()
{
  itsH = 5;
  itsW = 5;
}

Rectangle::Rectangle (int heigth, int width)
{
  itsH = heigth;
  itsW = width;
}

Rectangle::~Rectangle ()
{
}

void
Rectangle::DrawShape () const
{
  for (int x = 0; x < itsW; x++)
    {
      for (int i = 0; i < itsH; i++)
        cout << "*";
      cout << "\n";
    }
}

int
main (int argc, char *argv[])
{
  Rectangle theRect1 ();
  Rectangle theRect2 (6, 7);

  theRect1.DrawShape ();
  theRect2.DrawShape ();

  return 0;
}