題目:
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; }