• 问题 A: B 继承 圆到圆柱体


    题目描述

    定义了Circle圆形类,在此基础上派生出Cylinder圆柱体类。

    Circle圆形类定义如下:

    class Circle
    {
    public:
    Circle(double r):radius(r){ }
    double area(){return PI*radius*radius;} //圆面积
    protected:
    double radius; //圆半径
    };

    请在下面的程序段基础上完成整个设计。
    在主程序中输出指定半径的圆的面积(area),输出指定圆底半径和高的圆柱体表面积(area)和体积(volume)。

    #include <iostream>
    #include <iomanip>
    using namespace std;

    #define PI 3.14

    class Circle
    {
    public:
    Circle(double r):radius(r){ }
    double area(){return PI*radius*radius;} //圆面积
    protected:
    double radius; //圆半径
    };

    //将程序需要的其他成份写在下面,只提交begin到end部分的代码
    //******************** begin ********************


    //********************* end ********************

    int main()
    {
    double r,h;

    cout<<setiosflags(ios::fixed);
    cout<<setprecision(2);

    cin>>r;
    Circle c(r);
    cout<<c.area()<<endl;

    cin>>r>>h;
    Cylinder cy(r,h);
    cout<<cy.area()<<" "<<cy.volume()<<endl;

    return 0;
    }

    输入

    圆的半径

    圆柱体圆底半径 和 圆柱体的高

    输出

     圆的面积

    圆柱体的表面积 和  体积

    样例输入

    1
    2 2.5

    样例输出

    3.14
    56.52 31.40

    提示

     只提交begin到end部分的代码

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    #define PI 3.14
    
    class Circle
    {
    public:
        Circle(double r):radius(r) { }
        double area()
        {
            return PI*radius*radius;   //圆面积
        }
    protected:
        double radius; //圆半径
    };
    
    class Cylinder:public Circle
    {
    public:		
    	Cylinder(double r, double h):Circle(r), height(h) {}
    	double area() {
    		return PI*radius*radius*2 + PI*2*radius*height;
    	}
    	double volume() {
    		return PI * radius * radius * height;
    	}
    private :
    	double height;
    };
    
    int main()
    {
        double r,h;
    
        cout<<setiosflags(ios::fixed);
        cout<<setprecision(2);
    
        cin>>r;
        Circle c(r);
        cout<<c.area()<<endl;
    
        cin>>r>>h;
        Cylinder cy(r,h);
        cout<<cy.area()<<" "<<cy.volume()<<endl;
    
        return 0;
    }
    

      

  • 相关阅读:
    SpringBoot入门
    VUE 监听局部滚动 设置ICON的位置跟随
    手机端页面调试工具-vconsole使用
    js获取字符串字节的位数
    判断数据为[] {} /空数组或空对象
    Vue axios 上传图片
    Vue触发input选取文件点击事件
    腾讯地图添加多个Marker
    VUE-CLI 设置页面title
    小程序wxml文件引用方式
  • 原文地址:https://www.cnblogs.com/mjn1/p/10682792.html
Copyright © 2020-2023  润新知