项目1-点-圆-圆柱类族的设计(3)

来源:互联网 发布:阿里云域名怎么绑定ip 编辑:程序博客网 时间:2024/06/04 06:43

*Copyright (c) 2014,烟台大学计算机学院

*All right reserved.

*文件名称:test.cpp

*作    者:韩双志

*完成日期:2016年5月2日

*版本号:v1.0

*

*问题描述:再以point类为直接基类,派生出一个cylinder类,在增加数据成员h,以及求圆柱表面积的成员函数,和圆柱体积的成员函数,实现需要的成员函数,设计main函数

*输入描述:无

*输出描述:输出两点间距离,圆的面积,圆柱的表面积,圆柱的体积

*

#include <iostream>
#include<math.h>
using namespace std;
const double pi=3.1415926;
class Point
{
public:
    Point(int a,int b,int c,int d):x1(a),y1(b),x2(c),y2(d){}
    double juli();
protected:

    int x1;
    int y1;
    int x2;
    int y2;

};
class Cirle:public Point
{
public:
    Cirle(int a,int b,int c,int d,int e):Point(a,b,c,d),r(e){}
    double area();
protected:
    int r;
};
class Cylionder:public Cirle
{
 public:
    Cylionder(int a,int b,int c,int d,int e,double f):Cirle(a,b,c,d,e),h(f){}
     double volume();
     double area1();
 private:
    double h;
};
double Cylionder::volume()
{
     cout<<"体积"<<pi*r*r*h<<endl;
     return pi*r*r*h;
}
double Cylionder::area1()
{
   cout<<"表面积"<<2*r*r*pi+2*pi*r*h<<endl;
   return 2*r*r*pi+2*pi*r*h;
}
double Point::juli()
{
    float sum;
    sum=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    cout<<"两点间距离"<<sum<<endl;
    return sum;
}
double Cirle::area()
{
    cout<<"面积";
    cout<<r*r*pi;
    return r*r*pi;
}
int main()
{
    Cylionder a(1,1,2,2,3,5);
    a.juli();
    a.area();
    a.area1();
    a.volume();
    return 0;

}

*/

运行结果:

知识点总结:

   类的派生

学习心得:

   进一步;了解了类的派生,实现类的成员函数

0 0