#include<iostream.h>

#include<math.h>
class point
{
        float x,y;
public:
        point(float a,float b) {x=a;y=b;}
        float distance(point &p) ) P! b, [2 R. b* _
        { ! S; ^& f3 t  z; r5 d2 H
                float dx=x-p.x;
                float dy=y-p.y;
                return (float)sqrt (dx*dx+dy*dy); . x1 b+ o/ J8 H) D/ e  l
        } " o8 S9 h7 u' u3 Y" h% s
}; . _8 b6 Y$ w) g
        void main() 1 g! L' C6 M3 w# ?6 b) Z$ p
        { 4 M  N. D, x$ I2 q$ d2 I
                point p1(2,3),p2(32,43);
                cout<<p2.distance(p1)<<endl; : b3 ~! a: S5 C7 j
        }
不是说不可以通过对象调用私有的数据成员吗,那float dx=x-p.x;  float dy=y-p.y;这两句话怎么理解。p.x   p.y这样的表达为什么行的
 
 
注意point&是在point类内部,不能用对象访问类私有数据成员,指的是在类的外部用类对象访问类的私有数据成员:比如在main()函数中p1.x就不行,而如果放在point类中,就可以。