#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这样的表达为什么行的
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类中,就可以。
转载于:https://blog.51cto.com/2012huhu/1022162