在c++中,为何类的公有函数的形参为同类变量时,函数中可以直接使用形参的私有数据

#include
#include
using namespace std;
class Point
{
public :
Point(int X,int Y);
Point(Point&);
int getx()
{
return x;
}
int gety()
{
return y;
}
double dist(Point p);
private :
int x, y;
};
int main()
{
Point p1(1,2), p2(p1);
cout << p1.dist(p2);
}

Point::Point(int X, int Y)
{
x = X, y = Y;
}

Point::Point(Point &p)
{
x = p.x;
y = p.y;
}

double Point::dist(Point p)
{
double dx, dy,d;
dx = x - p.x;
dy = y - p.y;
d = sqrt(dx*dx+dy*dy);
return d;
}