C++ 遍历数组对象(慕课)


题目:
1. 编写类Circle。

2. 编写主函数,利用 std::array 创建包含10个对象的Circle数组并初始化。

3. 用基于范围的for循环遍历Circle数组,求10个Circie对象的面积之和。

题目内容:

类Circle有两个构造函数。无参构造函数没有函数体,使用default关键字声明。有参构造函数接收一个double类型参数作为Circle的半径。Circle类的半径的默认值是1.0

类Circle有一个 double getArea() 函数,返回圆的面积。圆周率的值取 3.14

在主函数中用 std::array 声明一个有10个Circle对象的数组。其中前5个Circle对象的半径分别设置为1.0、2.0、3.0、4.0、5.0。后5个对象使用Circle的默认构造函数初始化。

在主函数中,用基于范围的for循环遍历Circle数组,求10个Circie对象的面积之和

在主函数中,输出所求出的面积和。输出结果为双精度浮点数。使用系统默认精度。无需做格式和精度控制。

代码:

#include <iostream>
#include <array>
class Circle {
public:
    Circle() = default;
    Circle(double r) {
        this->r = r;
    }
    double getArea() {
        double area = 3.14 * r * r;
        return area;
    }
private:
    double r{ 1.0 };
};

int main()
{
    std::array<Circle, 10> arr{ 1.0,2.0,3.0,4.0,5.0 };
    double sumArea{ 0.0 };
    for (auto x : arr) {
        sumArea += x.getArea();
    }
    std::cout << sumArea;
    return 0;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM