#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();
}請問【實(shí)現(xiàn)插入功能的函數(shù)join】要怎么理解?可以解釋一下嗎?
- 1 回答
- 0 關(guān)注
- 934 瀏覽
添加回答
舉報
0/150
提交
取消