c++构造函数与析构函数
/*
设计一个类,它具有一个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;
}
设计一个类,它具有一个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;
}
想要看到更多学习笔记、考试复习资料、面试准备资料?
想要看到IBM工作时期的技术积累和国外初创公司的经验总结?
敬请关注:
[CSDN](https://blog.csdn.net/u013152895)
[简书](https://www.jianshu.com/u/594a3de3852d)
[博客园](https://www.cnblogs.com/vigorz/)
[51Testing](http://www.51testing.com/?15263728)

浙公网安备 33010602011771号