Can anyone tell me why I'm getting the following error for the below program? It doesn't like my reuse of the base class, for some reason:

error C2664: 'Point::Point(const Point &)' : cannot convert parameter 1 from 'double' to 'const Point &'

error C2437: 'Point' : already initialized

Code:#include <iostream> #include <cmath> using namespace std; const double PI = 3.14159; class Point { protected: double x, y; public: Point(double, double); virtual int area(); double distance(Point&, Point&); }; Point::Point(double XX, double YY) { x = XX; y = YY; } int Point::area() { return 0; } double Point::distance(Point& myPoint, Point& myPoint1) { double distance = sqrt(pow((myPoint1.x-myPoint.x), 2)+pow((myPoint1.y-myPoint.y),2)); return distance; } class Circle : public Point { protected: double radius; public: Circle(double rad, double X, double Y) : radius(rad), Point(x), Point(y){} virtual double area(Circle&); }; /*Circle::Circle(double rad) { radius = rad; }*/ double Circle::area(Circle& myCircle) { return PI*pow((myCircle.radius), 2); } int main() { return 0; }