题目导航
单元测验 | 单元作业 |
---|---|
单元测验7-1 | |
单元测验7-2 | 单元作业7-2 |
单元测验7-3 | 单元作业7-3 |
单元测验8-1 | 单元作业8-1 |
单元测验8-2 | |
单元测验9 | |
单元测验10-1 | |
单元测验10-2 | 单元作业10-2 |
期末考试2019春 |
题目
编写程序。编写计算圆环面积的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;
}