C++为什么要有构造函数和析构函数
答案:2 悬赏:0 手机版
解决时间 2021-01-26 06:56
- 提问者网友:嗝是迷路的屁
- 2021-01-25 09:56
C++为什么要有构造函数和析构函数
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-01-25 10:22
说简单点就是为了方便初始化和内存释放,构造函数可以在类对象创建的同时就进行一些初始化的操作,方便在后面的功能中提前做好准备;析构函数可以说是对立的功能,在类死亡前做一些遗言的交代,该里的遗嘱要说清楚,不能这么不清不出的挂了,啥也不管,让家人担心,烦恼。就是个设计的辅助东西,就像人吃饭要拿筷子,甚至洗手之类的,当然你说不要也行,C++的类的构造函数和析构函数也不是必须的,你也可以在其他时机进行初始化和扫尾操作的。但是既然语法提供了,咱直接用就可以,有好处的。
全部回答
- 1楼网友:傲气稳了全场
- 2021-01-25 11:55
#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; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯