en(str2)]=str1[i];//比待插入的字符串长的部分均向后移strlen(str2)位;Р }Р for(i=strlen(str2)-1;i>0;i--)Р {Р str1[i+i]=str1[i];//之前的部分均向后移i位;Р }Р for(i=1,j=0;i<2*strlen(str2);i+=2,j++)Р {Р str1[i]=str2[j];//将待插入的字符串插入空格处,完成插入;Р }Р?} Р}Рvoid STRING::print()//输出插入后的字符串Р{Р?cout<<"插入后的字符串为:"<<str1<<endl;Р}Рvoid main()//测试Р{Р?STRING test("ABCDE","abcde");Р?test.process();Р?test.print();Р}Р四、实践小结Р发现字符插入的规律,再依次放入相应字符位置。Р五、运行结果Р任务十二Р一、实践任务Р12.建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长)。例如将字符串“abcde”交叉插入字符串“ABCDEFG”的结果为“dDeEFG”或“DdEeFG”。Р二、详细设计Р1、类的描述与定义Р(1)私有数据成员Рl char str1[60] :存放被插入的字符串。Рl char str2[40] :存放待插入的字符串。Рl char str3[100] :存放插入后的字符串。Р(2)公有成员函数Рl STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。Рl void process():将str2中的字符串插入到str1中,存放到str3中。Рl void print():输出插入后的字符串。Р2、主要函数设计Р在主程序中定义STRING类的对象test对该类进行测试。