圆柱类

来源:互联网 发布:如何申请开农村淘宝 编辑:程序博客网 时间:2024/04/28 16:36
  1. 1./*         2.    3.        4.*Copyright   (c)  2016,烟台大学计算机学院         5.        6.*All rights reserved.         7.       8.*文件名称:test.cpp         9.         10.*作者: 武聪         11.       12.*完成日期:2016年5月24日         13.        14.*版本号:v1.0         15.*问题描述:以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高),,以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,实现需要的成员函数,并设计main函数完成测试。16. *输入描述:    17.*程序输出:#include <iostream>using namespace std;class Point{public:    Point(double x=0,double y=0);    void setPoint(double,double);    double getX() const    {        return x;    }    double getY() const    {        return y;    }    void show();protected:    double x,y;};Point::Point(double a,double b){    x=a;    y=b;}void Point::setPoint(double a,double b){    x=a;    y=b;}void Point::show(){    cout<<x<<""<<y<<endl;}class Circle:public Point{public:    Circle(double x=0,double y=0,double r=0);    void setRadius(double);    double getRadius() const;    double area() const;    void show();protected:    double radius;};Circle::Circle(double a,double b,double r):Point(a,b),radius(r){};void Circle::setRadius(double r){    radius=r;}double Circle::getRadius() const{  return radius;}double Circle::area() const{ return 3.14159*radius*radius;}void Circle::show(){    cout<<x<<" "<<y<<" "<<radius<<" "<<area();}class Cylinder:public Circle{public:    Cylinder(double x=0,double y=0,double r=0,double h=0);    void setHeight(double);    double getHeight() const;    double volume() const;    double area() const;    void show();protected:    double height;} ;Cylinder::Cylinder(double a,double b,double r,double h):Circle(a,b,r),height(h){};void Cylinder::setHeight(double h){    height=h;}double Cylinder::getHeight() const{    return height;}double Cylinder::volume() const{    return Circle::area()*height;}double Cylinder::area( ) const{    return 2*Circle::area( )+2*3.14159*radius*height;}void Cylinder::show(){    cout<<x<<" "<<y<<" "<<height<<" "<<volume()<<" "<<area();}int main( ){    Cylinder cy1(3.5,6.4,5.2,10);    cout<<"\noriginal cylinder:\nx=";    cy1.show();    cy1.setHeight(15);    cy1.setRadius(7.5);    cy1.setPoint(5,5);    cout<<"\nnew cylinder:\n";    cy1.show();    return 0;}

    运行结果:

 

  1. 知识点总结:
  2. 继承派生的使用
  3. 学习心得:
  4. 好好努力
0 0
原创粉丝点击