C++语言程序设计(下) 中国农业大学 单元作业8-1

题目

编写程序。编写计算圆环面积的C++程序。要求:先设计一个圆形类Circle,再基于类Circle使用继承的方法定义一个圆环类Ring。圆环可认为是在圆形基础上再增加一个描述线宽的属性,即带边框的圆形。然后编写一个主函数,简单测试派生类对象的功能。

答案

#include <iostream>
#define PI 3.1415926

class Circle
{
private:
    double R;
public:
    Circle() {R = 0;}
    Circle(const double r) {R = r;}
    Circle(const Circle &circle) {R = circle.R;}
    void setR(const double r) {R = r;}
    double getR() const {return R;}
    double getArea() const {return PI*R*R;}
    double getPerimeter() const {return PI*2*R;}
}; 

class Ring: public Circle 
{
private:
    double Width;
public:
    Ring(const double r, const double w) : Circle(r){Width = w;}
    double getArea() const {return PI*(getR()*getR()-Width*Width);}
};

int main()
{
    double R, Width;
    std::cin>> R >> Width;
    Ring r1(R, Width);
    std::cout << "面积: " << r1.getArea() << std::endl;
    return 0;
}
原创文章 63 获赞 23 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33384402/article/details/105878348