游泳池改造预算,Circle类

一、问题描述

  一个圆形游泳池如图所示,现在需在周围建一个圆形过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。

二、设计思路

(1)设计一个Circle类包含它的属性(半径)和行为①计算圆的周长,②计算圆的面积 ;

(2)完成Circle类的行为的实现;

(3)对相应结果进行输出;

三、程序流程图

 

 

四、伪代码

五、代码

 1 #include <iostream>
 2 using namespace std;
 3 const float PI = 3.141593;
 4 const float zhalan = 35;
 5 const float guodao = 20;
 6 class Circle
 7 {
 8 public:
 9     Circle(float r);
10     float circumference();
11     float area();
12 private:
13     float radius;
14 };
15 Circle::Circle(float r)
16 {
17     radius = r;
18 }
19 float Circle::circumference()
20 {
21     return 2 * PI * radius;
22 }
23 float Circle::area()
24 {
25     return PI * radius * radius;
26 }
27 int main()
28 {
29     float radius;
30     cin >> radius;
31     Circle pool(radius);
32     Circle poolRim(radius + 3);
33     float fenceCost = poolRim.circumference() * zhalan;
34     float concreteCost = (poolRim.area() - pool.area()) * guodao;
35     cout << fenceCost << endl;
36     cout << concreteCost << endl;
37 
38     return 0;
39 }

 

六、总结

(1)通过类可以封装一个整体,包括它的属性和行为;

(2)类的私有属性在类外不可直接访问,但可以通过public作用域下的函数来对类内的私有数据进行输出;

(3)类的构造函数可以将键盘键入的值传给类的对象;

posted @ 2023-04-14 18:16  连师傅只会helloword  阅读(371)  评论(0)    收藏  举报