У меня есть вопрос HW, который я застрял в течение нескольких часов, и мне кажется, что он не имеет смысла.Трудно выразить словами мой актуальный вопрос, но я буду стараться изо всех сил.Как я могу заставить свою функцию внешнего члена найти расстояние между окружностью, используя класс, который ссылается на другой класс?В моем коде ниже:
//Header
class Point
{
public:
Point();
Point(int, int);
Point(const Point& object);
int getX() const;
int getY() const;
void setX(int);
void setY(int);
double calculate_area();
void print() const;
private:
int x;
int y;
};
class Shape
{
public:
Shape();
double calculate_area();
void print() const;
protected:
double area;
};
class Circle : public Shape
{
public:
Circle();
Circle(const Point&, double);
double getRadius() const;
void setRadius(double);
void calculate_area();
void print() const;
private:
double radius;
Point center;
};
class RTriangle : public Shape
{
public:
RTriangle();
RTriangle(double, double);
double hyp();
void calculate_area();
void print() const;
private:
double side1;
double side2;
};
inline double distance(Circle& other)
{
return sqrt(pow(other.center.x, 2) + pow(other.center.y, 2));
}
#endif
//Implementation.cpp of what i think is important for you guys to see
Point::Point(int inX, int inY) // normal constructor
{
x = inX;
y = inY;
}
Point::Point(const Point &object) // copy constructor needed to use for center of circle
{
x = object.x;
y = object.y;
}
Circle::Circle(const Point& object, double inRad) // center is x & y... radius for circle
{
center = object;
radius = inRad;
}
Моя функция внешнего члена (встроенное двойное расстояние) не работает.Это первый раз, когда я пытался сделать это, поэтому я прошу прощения, если я не говорю это хорошо.По сути, я пытаюсь использовать только класс Circle, который наследует центр точки, а центр точки определяется в первом классе как x и y.Можно ли сделать такую вещь (в частности, использовать х и у, который находится внутри центра точки)?Я не знаю, возможно ли получить доступ к x и y через центр.