为了账号安全,请及时绑定邮箱和手机立即绑定

C++作业中有个实现插入功能的函数不大理解,可以解释一下吗?谢谢

C++作业中有个实现插入功能的函数不大理解,可以解释一下吗?谢谢

C++
皆凡人 2017-05-26 19:15:58
#include  <iostream> #include <string>   using namespace std; class  STR{ char *p; public: STR(char *s = 0) { if (s) { p = new char[strlen(s) + 1]; strcpy(p, s); } } void set(char *s = 0) { if (p) delete []p; if (s) { p = new char[strlen(s) + 1]; strcpy(p, s); } else  p = 0; } void join(char *s) { int n1 = strlen(p), n2 = strlen(s); char *p0 = new char[n1 + n2 + 1], *p1 = p0, *p2 = p; while  (*p1++ = *p2++); p1--; p2 = s; while  (*p1++ = *p2++); delete  []p; p = new  char[n1 + n2 + 1]; p1 = p; p2 = p0; while  (*p1++ = *p2++); delete  []p0; } void  backward() { char  *p1 = p, *p2 = p; while  (*p2++); p2 -= 2; while (p1<p2) { char  t = *p1; *p1 = *p2; *p2 = t; p1++; p2--; } } ~STR() { if (p)  delete  []p; } void  print() { if  (p)      cout << p << endl; } }; void  main() { STR  st1("12345"); st1.print(); st1.set("abcde"); st1.print(); st1.join("12345"); st1.print(); st1.backward(); st1.print(); }请问【实现插入功能的函数join】要怎么理解?可以解释一下吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 910 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信