CC++及大数据结构笔精彩试题

CC++及大数据结构笔精彩试题

ID:44955596

大小:56.50 KB

页数:21页

时间:2019-11-06

CC++及大数据结构笔精彩试题_第1页
CC++及大数据结构笔精彩试题_第2页
CC++及大数据结构笔精彩试题_第3页
CC++及大数据结构笔精彩试题_第4页
CC++及大数据结构笔精彩试题_第5页
资源描述:

《CC++及大数据结构笔精彩试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文案C/C++及数据结构笔试题集锦一:已知类String的原型为:classString{public:String(constchar*str=NULL);//普通构造函数String(constString?);//拷贝构造函数~String(void);//析构函数String&operator=(constString?);//赋值构造函数private:char*m_data;//用于保存字符串};请编写String的上述4个函数。答案:版本1://String的析构函数String::~String(void)//3分{

2、delete[]m_data;大全标准文案//由于m_data是内部数据类型,也可以写成deletem_data;}String::String(constchar*str){if(str==NULL){m_data=newchar[1];//若能加NULL判断则更好*m_data=‘{post.content}’;}else{intlength=strlen(str);m_data=newchar[length+1];//若能加NULL判断则更好strcpy(m_data,str);}}//拷贝构造函数String::String(c

3、onstString&other){intlength=strlen(other.m_data);m_data=newchar[length+1];//若能加NULL判断则更好strcpy(m_data,other.m_data);大全标准文案}//赋值函数String&String:operate=(constString&other){//(1)检查自赋值if(this==&other)return*this;//(2)释放原有的内存资源delete[]m_data;//(3)分配新的内存资源,并复制内容intlength=strl

4、en(other.m_data);m_data=newchar[length+1];//若能加NULL判断则更好strcpy(m_data,other.m_data);//(4)返回本对象的引用return*this;}版本2String::String(constchar*str){if(str){大全标准文案memset(m_data,0,strlen(m_data));strcpy(m_data,str);}else*m_data=0;}String::String(constString?){strcpy(m_data,copy

5、.m_data);}String&String:operator=(constString?){if(this==?)retrun*this;strcpy(m_data,copy.m_data);return*this;}版本3String::String(constchar*str){if(m_data)delete[]m_data;if(str){大全标准文案m_data=newchar[strlen(str)];memset(m_data,0,strlen(m_data));strcpy(m_data,str);}else*m_d

6、ata=0;}String::String(constString?){if(m_data)delete[]m_data;m_data=newchar[strlen(copy.m_data+1)]strcpy(m_data,copy.m_data);}String&String:operator=(constString?){if(this==?)retrun*this;if(m_data)delete[]m_data;m_data=newchar[strlen(copy.m_data+1)]strcpy(m_data,copy.m_d

7、ata);return*this;大全标准文案}~String::String(void){if(m_data)delete[]m_data;}二:改错题,只能在原来的基础上增加代码,不能删除代码#include#includevoidfoo(intage,char*b){b=(char*)malloc(64);sprintf(b,"YourAgeis%d",age);}intmain(){char*f;foo(23,f);printf("%s",f);}大全标准文案答案版本1#include#includevoidfoo(inta

8、ge,char**b){*b=(char*)malloc(64);sprintf(*b,"YourAgeis%d",age);}intmain(){char**f;foo(23,f);printf("%s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。