(1)定义一个字符串类CStrOne,包含一个存放字符串的数据成员str1,能够通过构造函数初始化字符串,通过成员函数显示字符串的内容; (2)在此基础上派生出CStrTwo类,增加一个存放字符串的数据成员str2,并能通过派生类的构造函数传递参数,初始化两个字符串str1和str2; (3)在CStrTwo中定义一个成员函数进行两个字符串的合并以及输出。(字符串合并可使用标准库函数strcat,需要包含头文件string.h); 编写完整的程序实现并测试。
时间: 2023-05-10 20:56:08 浏览: 53
以下是CStrOne和CStrTwo的定义和实现:
```c++
#include <iostream>
#include <string.h>
using namespace std;
class CStrOne {
public:
CStrOne(const char* str) {
strcpy(str1, str);
}
void display() {
cout << str1 << endl;
}
protected:
char str1[100];
};
class CStrTwo : public CStrOne {
public:
CStrTwo(const char* str1, const char* str2) : CStrOne(str1) {
strcpy(this->str2, str2);
}
void mergeAndDisplay() {
strcat(str1, str2);
cout << str1 << endl;
}
private:
char str2[100];
};
int main() {
CStrTwo str("Hello, ", "world!");
str.display();
str.mergeAndDisplay();
return 0;
}
```
输出结果为:
```
Hello,
Hello, world!
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)