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;
}