   SWIG (Python) - "no constructor defined" for concrete class
  Yet another SWIG question (YASQ!).I'm having a problem with using an abstract base class. When generating the Python bindings, SWIG thinks that all the concrete classes that derive from this abstract class are abstract too and won't create the correct constructor.Abstract class:class CORE_API Shape{public:  virtual ~Shape()  {    nshapes--;  };  double  x, y;virtual void move(double dx, double dy);  virtual double area(void) = 0;  virtual double perimeter(void) = 0;  static  int nshapes;protected:  Shape() {    nshapes++;  }};Derived classes:class CORE_API Circle : public Shape{private:  double radius;public:  Circle(double r): Shape(), radius(r)  {  };  virtual double area(void);  virtual double perimeter(void);};class CORE_API Square : public Shape{private:  double width;public:  Square(double r): Shape(), width(r)  {  };  virtual double area(void);  virtual double perimeter(void);};SWIG file:class Shape{  virtual void move(double dx, double dy);  virtual double area(void) = 0;  virtual double perimeter(void) = 0;};class Circle: public Shape{Circle(double r);virtual double area(void);virtual double perimeter(void);};class Square: public Shape{Square(double r);virtual double area(void);virtual double perimeter(void);};C++ COde:Circle c(1.02);std::cout << "(c++)\t\tCircle\t" << c.area() << std::endl;Square s(9.20);std::cout << "(c++)\t\tSquare\t" << s.area() << std::endl;For some reason SWIG thinks that Circle and Square are abstract. Any ideas why? I'm rather confused by this.Thanks as always   
  I don't see implementations for area() or perimeter() in those derived classes.   ;  Sorry I forgot to include the implementation code. I deleted the source files and started again and it works now. Not sure why it didn't work before.Thanks for replying.   