*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;
}
*/
运行结果:
知识点总结:
类的派生
学习心得:
进一步;了解了类的派生,实现类的成员函数