资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
例题2定义类Point,有坐标数据成员x和y,取X 坐标函数GetX(void);取Y坐标函数 GetY(void); 构造函数Point(float xx, float yy); 和析构函数Point(); 定义类Distance, 有对象数据成员p1, p2和距 离数据dist;构造函数Distance (Point a,Point b); 计算两点距离函数GetDis(void) 定义两个Point类对象myp1(1,1), myp2(4,5); 定义一个Distance类对象myd(p1, p2); 主程序实现求两点间的距离例题2-1class Point private:float x,y; /点的坐标public:Point(float xx, float yy); /构造函数Point();float GetX(void); /取X坐标float GetY(void); /取Y坐标 Point:Point(float xx,float yy) X=xx; Y=yy; Point:Point( ) float Point:GetX(void) return x; folat Point:GetY(void) return y;class Distanceprivate:Point p1, p2; /线段的两个端点double dist;public:Distance (Point a,Point b); /构造函数double GetDis(void) return dist; /计算距离;Distance: Distance (Point a, Point b): p1(a), p2(b)double x=double(p1.GetX()-p2.GetX();double y=double(p1.GetY()-p2.GetY();dist=sqrt (x*x-y*y);void main()Point myp1(1,1), myp2(4,5);Distance myd(p1, p2);cout # include class Point public:Point (int xx=0,yy=0) x=xx,y=yy;int GetX();int GetY();friend float fdist(Point Double fdist(Point /?double dy=a.y-b.y;return sqrt (dx*dx+dy*dy); void main() Point P1(3.0,5.0), P2(4.0,6.0);double d=fdist(P1, P2);cout“the distance is”dendl;例题3-4 一个类的成员函数可以成为另外一个类的友 元函数class Student; class teacher public:void assigGrade (Student private:int noofStudent; class Student public:friend void Teacher:assigGrade (Student float score;void Teacher:assigGrade (Student 注意:第一:友元关系是不能传递的B类是A类的友元,C类是B类的友元,但C类 与A类无关。第二:友元关系是单向的B类是A类的友元,B类的成员可以访问A类的 所有成员,但A类不是B类的友元
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号