高手帮忙看下这个程序填空

leiky 2010-11-02 10:04:59
1.字符串类,实现对象的深拷贝,添加相应函数和主函数测试此类。
class string
{char *str; int size;
public:
string(const char*s=’\0’)
{size=strlen(s)+1; str=new char [size];
strcpy(str,s) ;}
string(const string &rhs)
{ ① }// 拷贝构造函数
//追加,将s指向的字符串追加到本对象尾
string append (const char * s)
{
•••②
return * this ;
}
void display()
{
cout<<"pstr="<<pstr<<endl;
cout<<"size="<<size<<endl;
}
};
...全文
151 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2010-11-02
  • 打赏
  • 举报
回复
string(const char *s="")
bszANDdc 2010-11-02
  • 打赏
  • 举报
回复
记得原来跑招聘的时候 到处都是这样的 笔试题 背都背过了!1
miracle222 2010-11-02
  • 打赏
  • 举报
回复
rhs.cstr() 改为 rhs.c_str()
miracle222 2010-11-02
  • 打赏
  • 举报
回复

1、 size=strlen(rhs.c_str())+1;
str=new char [size];
strcpy(str, rhs.cstr());

2、char* tmp;
tmp = str;
size += strlen(s);
str = new char[size + 1]
strcpy(str, tmp);
strcat(str, s);
delete[] tmp;
無_1024 2010-11-02
  • 打赏
  • 举报
回复
第一个:
size=rhs.size+1;
没有这个括号
無_1024 2010-11-02
  • 打赏
  • 举报
回复
1. size=rhs.size()+1; str=new char [size];
strcpy(str,rhs);

2.size = strlen(s) +size;
char *tmp = new char [size];
strcmp(tmp, str);
strcat(tmp, s);
delete [] str;
str = tmp;

luciferisnotsatan 2010-11-02
  • 打赏
  • 举报
回复
回去把教科书打开,重新学下
Crob 2010-11-02
  • 打赏
  • 举报
回复
作业贴,动动脑子想想吧,不难
leiky 2010-11-02
  • 打赏
  • 举报
回复
帮忙看一下啊 !!!
foolfoolpig 2010-11-02
  • 打赏
  • 举报
回复
我也不知道
leiky 2010-11-02
  • 打赏
  • 举报
回复
这么多 哪个正确啊!! 急!!

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧