//用T返回由堆分配順序串的兩個字符串組成的新串
void StrConcat(HString &T,HString S1,HString S2){
? ? if(T.ch)delete T.ch;//如果已經(jīng)存在T拨拓,刪除
? ? T.ch = new char[S1.length+S2.length];
? ? if(!T.ch)cout<<"申請空間失斈笔壮吩!\n";
? ? int i = 0;
? ? int k = 0;
? ? while(k<S1.length){
? ? ? ? T.ch[i++] = S1.ch[k++];//復(fù)制S1到T
? ? }
? ? k = 0;
? ? while(k<S2.length){
? ? ? ? T.ch[i++] = S2.ch[k++];//復(fù)制S2到T
? ? }
? ? T.length = S1.length+S2.length;//T的長度
}