c++构造函数与析构函数

来源:互联网 发布:淘宝引流推广软件 编辑:程序博客网 时间:2024/05/21 09:05
/*
设计一个类,它具有一个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;
}
0 0
原创粉丝点击