怎么在如下类的组合中访问并改动私有成员?

各位大佬,话不多说,直接上代码。

#include <iostream>
using namespace std;
class Point {
public:
    Point() { x = 0; y = 0; }
    Point(int xx, int yy) { x = xx; y = yy; }
    void setX(int xx) { x = xx; }     void setY(int yy) { y = yy; }
    int getX() { return x; }            int getY() { return y; }
private:
    int x;
    int y;
};

class Circle {
public:
    Circle(int _x, Point _y) :radius(_x), center(_y) { cout <<_x<<_y.getX()<<_y.getY(); }    //Circle类的构造函数
    Circle(int X, int Y, int Z) :radius(X), center(Y, Z) { cout << X << Y << Z; }    //Circle类的构造函数2
public:

private:
    int radius;
    Point center;
};
int main() {
    Circle c1(1, 0, 0);     Point p(2, 2);
    Circle c2(1, p);
    return 0;
}
## ``1. 在不改变Point类的前提下,为Circle类新增move函数,有两个参数,参数为移动的位移。例如: move(1,2)表示向右移动一个单位,向上移动2个单位。
2. 在主函数main()中,输出move前后的圆心位置和半径。


大佬们,已经做了半个小时了,不知道怎么改,还请各位赐教,,小萌新在线蹲答案。没有c币,但是谢谢,,

1.在Circle的public:下增加
void move(int x, int y)
{
center.setX(center.getX() + x);
center.setY(center.getY() + y);
}

增加
void printInfo()
{
cout << "radius:" << radius << " x:" << center.getX() << " y:" center.getY();
}

2.在main中增加
c1.printInfo();
c1.move(1, 2);
c1.printInfo();