(3)完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。请在注释“//**3**”之后添加适当的语句。
(4)完成Money类成员函数floatMoney::TotalMoney(floatfencelen,floatconarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件kt9_3.cpp清单如下:
#include<iostream.h>
//**1**
classCircle
{ private:
floatradius;
public:
//**2**
floatCircumference(){return2*PI*radius;}
floatArea(){returnPI*radius*radius;} };
classMoney
{ private:
floatFencePrice;
floatConcretePrice;
public:
Money(floatf,floatc);
floatTotalMoney(floatfencelen,floatconarea); };
Money::Money(floatf,floatc)
{ //**3** }
floatMoney::TotalMoney(floatfencelen,floatconarea)
{ //**4** }
voidmain()
{ floatradius,fence,concrete;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
cout<<"Entertheradiusofthepool:";
cin>>radius;
cout<<"EntertheFencePrice:";
cin>>fence;
cout<<"EntertheConcretePrice:";
cin>>concrete;
CirclePool(radius);
CirclePoolRim(radius+WIDTH);
Moneymon(fence,concrete);
floattotalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area()-Pool.Area()));
cout<<"ThetotalmoneyisRMB"<<totalmoney<<endl; }
【参考答案】
(1)const float PI = 3.14159f;
const float WIDTH =3.00f;
(2)Circle(float r):radius(r){};
(3)FencePrice=f;
ConcretePrice=c;
(4)return FencePrice*fencelen+ConcretePrice*conarea;
【试题解析】
本题考查对符号常量的定义及类的定义与实现等方面的内容,其中常类型的定义应使用const关键字。