第十 十一周点-圆-圆柱类族的设计(3)

来源:互联网 发布:途家体验反馈数据分析 编辑:程序博客网 时间:2024/05/21 07:13

Copyright (c) 2016,烟台大学计算机学院.
All rights reserced.
文件名称:test.cpp
作者        :秦通
完成日期:2016.6.02
版本号 :Codeblocks
问题描述:以Circle为直接基类,派生出Cylinder(圆柱体)类,再增加数据成员h(高)以及圆柱表面积area和圆柱体积volume。
程序输入:

#include <iostream>using namespace std;class Point{protected:    double x;    double y;public:    Point(double x1,double y1):x(x1),y(y1){}    void show_Point();};class Circle:public Point{protected:    double r;public:    Circle(double a,double b,double c):Point(a,b),r(c){};    double area();    void show_Circle();};class Cylinder:public Circle{protected:    double h;public:    Cylinder(double q,double w,double e,double r):Circle(q,w,e),h(r){};    double area_Cy();    double volume();    void show_Cylinder();}; void Point::show_Point() {     cout<<"坐标为:"<<x<<" "<<y<<endl; }double Circle::area(){    return 3.14*r*r;}void Circle::show_Circle(){    cout<<"面积为:"<<area()<<endl;}double Cylinder::area_Cy(){    return 3.14*r*r*2+3.14*2*h*r;}double Cylinder::volume(){    return 3.14*r*r*h;}void Cylinder::show_Cylinder(){    cout<<"表面积为:"<<area_Cy()<<" "<<"体积为:"<<volume()<<endl;}int main(){    Point a(1.0,1.0);    Circle b(1.0,1.0,1.0);    Cylinder c(1.0,1.0,1.0,1.0);    a.show_Point();    b.show_Point();    b.show_Circle();    c.show_Cylinder();    return 0;}


 

运行结果:

0 0
原创粉丝点击