预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

8029:实现自定义的析构函数Time/MemoryLimit:1000MS/32768KSubmitted:29Accepted:21ProblemDescription自定义一个类Person,类中仅有一个字符指针成员变量name,用于保存从键盘接收一任意长度的字符串。要求根据该串的大小在创建对象时候动态申请一片空间,在析构该类的每个对象之前释放该对象拥有的堆中内存。请编写类析构函数以实现这一意图。(为了观察,请在析构对象时候显示deleted。)Input输入一字符串,不含空格。Output该对象中字符串内容deletedSampleInputabcdSampleOutputabcddeleted#include<iostream>usingnamespacestd;classperson{private:char*name;intlen;public:voidshow(){cout<<name<<endl;}person(){len=0;name=NULL;}person(constchar*p){len=strlen(p);name=newchar[len+1];strcpy(name,p);}~person(){cout<<"deleted"<<endl;}};intmain(){chara[100];cin>>a;personp1(a);p1.show();return0;}8059:定义学生类Time/MemoryLimit:1000MS/32768KSubmitted:5Accepted:2ProblemDescription定义学生类student,类的结构如下classstudent{public:student(int,char*,int,float);//需提示"Constructing..."~student();//需提示"Destructing..."voidprintstu();private:intid;char*name;intage;floatscore;};将类定义完整,并在主函数中进行测试。Input输入数据有多行。Output对于每个测试数据,输出有多行。SampleInput1zhangsan19802lisi20913wangwu1885SampleOutputConstructing...Num:1Name:zhangsanAge:19Score:80Destructing...Constructing...Num:2Name:lisiAge:20Score:91Destructing...Constructing...Num:3Name:wangwuAge:18Score:85Destructing...#include<iostream>usingnamespacestd;classstudent{public:student(intid,charname[100],intage,floatscore);~student();voidprintstu(){cout<<"Num:"<<id<<''<<"Name:"<<name<<''<<"Age:"<<age<<''<<"Score:"<<score<<endl;}private:intid;charname[100];intage;floatscore;};student::student(intid1,char*name1,intage1,floatscore1){id=id1;strcpy(name,name1);age=age1;score=score1;cout<<"Constructing..."<<endl;}student::~student(){cout<<"Destructing..."<<endl;}intmain(){intid;charname[100];intage;intscore;while(cin>>id>>name>>age>>score){studentt1(id,name,age,score);t1.printstu();}return0;}ZhangzhouNormalUniversityOnlineJudgeSys8033:C++方式动态空间申请Time/MemoryLimit:1000MS/32768KSubmitted:14A