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

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

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

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

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

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

标准文案 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{ 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(constString&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=strlen(other.m_data); m_data=newchar[length+1];//若能加NULL判断则更好 strcpy(m_data,other.m_data); //(4)返回本对象的引用 return*this; } 版本2 String::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.m_data); } String&String:operator=(constString?) { if(this==?)retrun*this; strcpy(m_data,copy.m_data); return*this; } 版本3 String::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_data=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_data); return*this; 大全. 标准文案 } ~String::String(void) { if(m_data) delete[]m_data; } 二:改错题,只能在原来的基础上增加代码,不能删除代码 #include #include