点圆柱类设计(3)

问题及描述;

/*
 *Copyright (c) 2016,烟台大学计算机学院
 *All rights reserved.
*文件名称;test.cpp
 *作者;邱凯
 *完成日期;2016年5月5号
 *版本号;v6.0
 *问题描述;  点圆柱的设计(3)
 *输入描述;  输入数据
 *输出描述; 输出答案
*/
#include <iostream>
using namespace std;
 class point
 {
 protected:
    double x;
    double y;
 public:
    point(double a=0,double b=0)
    {
        x=a;
        y=b;
    }
    void setpoint (double a,double b)
    {
        x=a;
        y=b;
    }
    double getx()
    {
        return x;
    }
    double gety()
    {
        return y;
    }
    void show()
    {
        cout<<x<<"."<<y<<endl;
    }
 };
 class Circle:public point
 {
 protected:
    double r;
 public:
     Circle(double a,double b,double c)
     {
         x=a;
         y=b;
         r=c;
     }
    void setr(double c)
    {
       r=c;
    }
    double getr()
    {
        return 3.14159*r*r;
    }
    void show()
    {
        cout<<x<<"."<<y<<r<<endl;
    }
 };
 class Cylinder:public Circle
 {
 protected:
    double h;
 public:
   Cylinder(double a,double b,double r,double h) :Circle(a,b,r),h(h){}
    void seth(double d)
    {
        h=d;
    }
    double geth()
    {
        return h;
    }
    double area()
    {
        return 2*Circle::getr( )+2*3.14159*r*h;
    }
    double volume()
    {
        return Circle::getr()*h;
    }
    void show()
    {
       cout<<"Center=["<<x<<","<<y<<"], r="<<r<<", h="<<h
        <<"\narea="<<area( )<<", volume="<<volume( )<<endl;
    }

 };

 int main( )
{
    Cylinder cy1(3.5,6.4,5.2,10);
    cout<<"\noriginal cylinder:\nx=";
    cy1.show();
    cy1.seth(15);
    cy1.setr(7.5);
    cy1.setpoint(5,5);
    cout<<"\nnew cylinder:\n";
    cy1.show();
    return 0;
}

运行结果;

点圆柱类设计(3)_第1张图片

你可能感兴趣的:(点圆柱类设计(3))