游泳池改造预算,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)类的构造函数可以将键盘键入的值传给类的对象;
浙公网安备 33010602011771号