/*
设计一个类,它具有一个float指针成员.构造函数具有一个整形参数count,
它为指针成员分配count个存储数据的元素空间.析构函数释放指针指向的空间.
另外设计2个函数成员完成如下功能:
(1)向指针指向的空间中存储数据;
(2)返回这些数的平均值.
*/
#include<iostream.h>
class FLOAT
{
public:
FLOAT(int count=10);//构造函数,count默认为10
~FLOAT();//析构函数
bool setData(float e);//存储数据
float Average();//计算平均值
private:
float *p;
int num_of_data;//数据元素个数
};
FLOAT::FLOAT(int count)
{
p=new float[count];
num_of_data=0;
if(p==NULL)
{
cout<<"No enough memory!"<<endl;
exit(0);
}
cout<<endl<<"构造已经完成"<<endl<<endl;
}
FLOAT::~FLOAT()
{
delete []p;
cout<<endl<<"数组已经析构!"<<endl<<endl;
}
bool FLOAT::setData(float e)
{
p[num_of_data]=e;
num_of_data++;
}
float FLOAT::Average()
{
float sum=0;
for(int i=0;i<num_of_data;i++)
sum+=p[i];
return sum/num_of_data;
}
int main()
{
cout<<"输入要输入的数据数目:";
int n;
cin>>n;
FLOAT myfloat(n);//调用构造函数
cout<<"请输入"<<n<<"个数据:"<<endl;
for(int i=0;i<n;i++)//调用setData函数
{
float e;
cin>>e;
myfloat.setData(e);
}
cout<<"数据的平均值为:"<<myfloat.Average()<<endl;//调用求平均值函数
return 0;
}