建立一个STRING类,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长)。例如将字符串“abcde” 交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。 具体要求如下: (1)私有数据成员 char str1[60] :存放被插入的字符串。 char str2[40] :存放待插入的字符串。 char str3[100] :存放插入后的字符串。 (2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。 void process():将str2中的字符串插入到str1中,存放到str3中。 void print():输出插入后的字符串。 (3)在主程序中定义STRING类的对象test对该类进行测试
时间: 2024-02-22 13:57:31 浏览: 93
好的,我理解了你的问题。下面是建立一个STRING类的示例代码,你可以参考一下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class STRING {
private:
char str1[60];
char str2[40];
char str3[100];
public:
STRING(char *s1, char *s2) {
strcpy(str1, s1);
strcpy(str2, s2);
}
void process() {
int len1 = strlen(str1);
int len2 = strlen(str2);
int i, j, k;
for (i = 0, j = 0, k = 0; i < len1 && j < len2; i += 2, j++) {
str3[k++] = str1[i];
str3[k++] = str2[j];
}
while (i < len1) {
str3[k++] = str1[i];
i += 2;
}
while (j < len2) {
str3[k++] = str2[j];
j++;
}
str3[k] = '\0';
}
void print() {
cout << str3 << endl;
}
};
int main() {
char s1[] = "ABCDEFG";
char s2[] = "abcde";
STRING test(s1, s2);
test.process();
test.print();
return 0;
}
```
这个程序可以将一个字符串交叉插入到另一个字符串中,并输出插入后的结果。在程序中,我们定义了一个STRING类,它有三个私有数据成员:str1、str2和str3,分别用于存放被插入的字符串、待插入的字符串和插入后的字符串。类中有三个公有成员函数:构造函数、process函数和print函数。构造函数用于初始化str1和str2,process函数用于将str2中的字符串插入到str1中,存放到str3中,print函数用于输出插入后的字符串。在主程序中,我们创建了一个STRING类的对象test,对该类进行测试。
阅读全文