第十/十一周项目一(2)-点-圆-圆柱类族的设计

来源:互联网 发布:页游服务器端 知乎 编辑:程序博客网 时间:2024/05/03 18:50

问题及代码:

/**烟台大学计算机学院*文件名称:xiangmu1(2).cpp*作    者:闫安*完成日期:2016年5月20日*版 本 号:codeblocks 16.01**问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及           求面积的成员函数area,实现其他需要的成员函数*程序输入:无*程序输出:圆的面积*/#include <iostream>#include <cmath>using namespace std;class Point{public:    Point(double xx,double yy):x(xx),y(yy){}    void setPoint(double xx,double yy);    double distance(Point &p);    void show();protected:    double x;    double y;};class Circle:public Point{public:    Circle(double a=0,double b=0,double r=1):Point(a,b),radius(r){};    double area();    void show();protected:    double radius;};double Point::distance(Point &p){    double dx,dy,dis;    dx=x-p.x;    dy=y-p.y;    dis=sqrt(dx*dx+dy*dy);    return dis;}void Point::setPoint(double xx,double yy){    x=xx;    y=yy;}void Point::show(){    cout<<"x="<<x<<"\t"<<"y="<<y<<endl;}double Circle::area(){    double a;    a=radius*radius*3.14;    return a;}void Circle::show(){    cout<<"圆的圆心坐标为:"<<"("<<x<<","<<y<<")"<<endl;    cout<<"圆的半径为:"<<radius<<endl;    cout<<"圆的面积为:"<<area()<<endl;    cout<<endl;}int main(){    Circle c(3.5,6.4,5.2);    c.show();    c.setPoint(5,5);    c.show();    return 0;}

运行结果:

知识点总结:

       用到了派生类

学习心得:

       在写构造函数时将Point(a,b)错写成了x(a),y(b)导致了程序错误

0 0
原创粉丝点击