使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。 (1)定

admin2013-10-15  25

问题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。
    (1)定义类TCFruit的私有静态数据成员float型变量AllWeight和int型变量AllNo,请在注释1后添加适当的语句。
    (2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加到AllWeight中,并且AllNo白加。请在注释2后添加适当的语句。
    (3)在析构函数中,在AllWeight中减去weight,然后AllNo自减,请在注释3后添加适当的语句。
    (4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。
    注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include
class TCFruit
{
private:
float Weight;
//* * * * * * * * 1 * * * * * * * *
static int AllNo;
public:
TCFruit(float w)
{
//* * * * * * * * 2 * * * * * * * *
AllWeight+=w:
AllNo++:
}
~TCFruit()
{
//* * * * * * * * 3 * * * * * * * *
AllWeight-=Weight;
}
void display()
{
cout<<"Sell a Fruit with"< end1;
cout<<"All sell number:"< cout<<"All sell weight:"< end1< }
};
//* * * * * * * *4 * * * * * * * *
float TCFruit::AllWeight=0.0;
int main()
{
TCFruit Fruitl(1.2):
Fruitl.display();
TCFruit Fruit2(2.3):
Fruit2.display();
return 0;
}

选项

答案(1)应添加“static float AllWeight;”。 (2)应添加“Weight=w;”。 (3)应添加“AllNo--;”。 (4)应添加“int TCFruit::AllNo=0;”。

解析 静态数据成员声明时需使用关键字static,因此第1处应添加“static float AllWeight;”。构造函数用来对类成员进行初始化,在TCFruit类的构造函数TCFruit(float w)中,完成weight的初始化,并把这个w加到AllWeight中,并且AllNo自加,因此第2处应添加“weight=w;”。调用析构函数相当于退出,这时AllWeight中减去weight,然后AllNo自减,因此第3处应添加“A11No--;”。静态数据成员的初始化格式为“(数据类型>(类名>::(静态数据成员>=<初始值)”,因此第4处应添加“int TCFruit::AllNo=0;”。
转载请注明原文地址:https://jikaoti.com/ti/wrXiFFFM
0

最新回复(0)