4.11 上机实践
类point表示一个坐标点,其原型为:
- class point
- {
- public:
- point(double a=0,double b=0){x=a;y=b;}
- …
- private:
- double x;double y;
- };
要求编写程序,完成如下功能。
(1)定义类point的成员函数,计算一个点到当前点的距离。其原型如下:double dis(point &p)。
(2)由类point定义一个共有派生类circle,类circle中增加一个数据成员double r,r表示半径。该类有两个构造函数和计算面积的函数area()。
(3)定义main()函数,按下面的要求编写程序。
- main()
- {
-
-
-
-
-
-
- }
提示:本例主要考察类的基本使用方法,包括类的成员函数的定义,构造函数的使用、类的派生和对象的使用等。参考代码如下:
- #include <iostream.h>
- #include <math.h>
- class point
- {
- public:
- point(double a=0,double b=0){X = a;Y = b;}
- point(const point &p)
- {
- X = p.X;Y = p.Y;
- }
- ~point(){}
- double distance(point &p)
- {
- double dis;
- dis = sqrt(pow(this->X-p.X,2)+pow(this->Y-p.Y,2));
- return dis;
- }
- void print()
- {
- cout<<"X= "<<this->X<<" "<<"Y= "<<this->Y<<endl;
- }
- private:
- double X;
- double Y;
- };
- class circle:public point
- {
- private :
- double r;
- public:
- circle(double a,double b,double c):point(a,b)
- { r = c;}
- ~circle(){}
- double area(){return 3.14159 *r *r;}
- };
-
- int main()
- {
- point p1(2.5,3.5),p2(3.0,0.0);
- point p3(p1);
- cout<<"the distance between p2 and p3 is : "<<p2.distance(p3)<<endl;
-
- circle c1(2.0,2.0,1.5);
- cout<<"the area of circle c1 is: "<<c1.area()<<endl;
- return 0;
- }
【责任编辑:
云霞 TEL:(010)68476606】