问题 问答题

【说明】 源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。 ①定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。 ②定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。 ③完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。 ④完成Money类成员函数float Money::TotalMoney(float fencelen,float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test4.cpp清单如下: #include<iostream.h> (1) class Circle { private: float radius; public: (2) float Circumference(){return 2 * P| * radius;} float Area(){return P|*radius * radius;} }; class Money { private: float FencePrice; float ConcretePrice; public: Money(float f,float c); float Tota|Money(float fencelen, float conarea); }; Money::Money(float f,float c) { (3) } float Money::Tota|Money(float fencelen, float conarea) { (4) } void main( ) { float radius, fence, concrete; cout. setf(ios:: fixed); cout. setf(ios:: showpoint); cout. precision (2); cout << "Enter the radius of the pool:"; cin > > radius; cout << "Enter the FencePrice:"; cin > > fence; cout << "Enter the ConcretePrice: "; cin > > concrete; Circle Pool(radius); Circle PoolRim(radius + WIDTH); Money mon( fence, concrete); float totalmoney = mon. TotalMoney( PoolRim. Circumference( ), ( PoolRim. Area ( ) - Pool. Area ( ) ) ); cout << "The total money is RMB" << totalmoney << end|; }

答案

参考答案:

解析:(1)const float PI=3.14159f; const float WIDTH=3.00f; (2)Circle(floatr):radius(r){}; (3)FencePrice=f; ConcretePrice=c; (4)return FencePrice * fencelen+ConcretePrice*conarea; 本题考查了考生对符号常量的定义及类的定义与实现等方面的内容。注意常类型的定义应使用const关键字。

单项选择题
判断题