风之客-例题2.ppt_第1页
风之客-例题2.ppt_第2页
风之客-例题2.ppt_第3页
风之客-例题2.ppt_第4页
风之客-例题2.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例题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-1,class Point private: float

2、 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 Distance private: Point p1, p2; /线段的两个端点 double dist; publi

3、c: 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“the dis

4、tance is: ”endl; coutmyd.GetDis()endl; ;,例题2-2,class 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) re

5、turn y;,class Distance private: Point p1, p2; /线段的两个端点 double dist, price; public: Distance (Point a,Point b); /构造函数 double GetDis(void) return dist; /计算距离 ;,Distance: Distance (Point a, Point b, double p=3): p1(a), p2(b) double x=double(p1.GetX()-p2.GetX(); double y=double(p1.GetY()-p2.GetY(); dist

6、=sqrt (x*x-y*y) price=p ;,Distance: Distance (Point a, Point b, double p=3): p1(a), p2(b) double x=double(p1. x-p2.x); /? double y=double(p1.y-p2.y); /? dist=sqrt (x*x-y*y) price=p ;,例题2-3具有静态数据成员的Point,class Point private: float x,y; /点的坐标 static int countP; public: Point(float xx, float yy); /构造函数

7、 Point(Point ,Point:Point(float xx,float yy) X=xx; Y=yy; countP+; Point:Point(Point ,void main() Point A(4,5); cout“Point A: ”A.GetX()“,”A.GetY()endl; Point B(A); cout“Point B: ”B.GetX()“,”B.GetY()endl; B.GetC(); ;,例题2-4具有静态成员函数的Point,class Point private: float x,y; /点的坐标 static int countP; public:

8、Point(float xx, float yy); /构造函数 Point(Point ,Point:Point(float xx,float yy) X=xx; Y=yy; countP+; Point:Point(Point ,void main() Point A(4,5); cout“Point A: ”A.GetX()“,”A.GetY()endl; A.GetC(); Point B(A); cout“Point B: ”B.GetX()“,”B.GetY()endl; Point:GetC(); ;,例题2-5具有静态成员函数的类,class A private: int x;

9、 public: static void f(A a); Void A:f(A a) coutxendl; /? couta.xendl; ,例题2-6具有静态成员函数的类,class Application private: static int global; public: static void f(); static void g(); int Application:global=0;,void Application:f() global=5; void Application:g() coutglobalendl; int main() Application:f(); App

10、lication:g(); return 0; ,阅读程序1具有静态数据成员和函数的类,class Student public: Student( int StudentNo=0) cout“creat one student”endl; NoOfStudent+; cout“NoOfStudent” NoOfStudent; StudentNo=200502100+ NoOfStudent; cout“StudentNo”StudentNoendl; Student() cout“delete one student”endl; NoOfStudent-; ,static int numb

11、er() return NoOfStudent; Protected: static int NoOfStudent; int StudentNo; int Student: NoOfStudent=0;,Void fn() Student S1; Student S2; coutStudent:number()endl; void main() fn(); coutStudent:number()endl; ,例题3-1,class C private: int x; public: C (int a) x=a; int GetX() return x; long Cube(C ,例题3-2

12、具有友元函数的类,class C private: int x; public: C (int a) x=a; int GetX() return x; friend long Cube(C ,void main() C c(5); coutCube(c)endl; ,例题3-2具有友元类的类,class A public: void Display() coutxendl; friend class B; private: int x; ,class B public: void Set (int i); void Display(); private: A a; void B:Set (int i) a.x=i; void B: Display() a.Display(); couta.xendl;,例题3-3使用友元函数计算两点距离,include # 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 ,例题3-4一个类的成员函数可以成为另外一个类的友元函数,class Student; clas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论