用c++编写一个程序,定义一个字符串类Mystring,有两个私有数据成员: char* content和int len;要求: 在构造函数中提示用户输入字符串, 用户能提取和显示字符串(分别由两个函数完成) 定义析构函数正确释放内存, 在主函数中定义一个对象对上述函数进行测试。
时间: 2023-03-24 19:00:20 浏览: 173
下面是一个用C语言实现的Mystring结构体以及相关的函数定义:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char* content;
int len;
} Mystring;
Mystring* create_mystring(char* str) {
Mystring* new_str = (Mystring*) malloc(sizeof(Mystring));
new_str->len = strlen(str);
new_str->content = (char*) malloc(sizeof(char) * (new_str->len + 1));
strcpy(new_str->content, str);
return new_str;
}
void destroy_mystring(Mystring* str) {
free(str->content);
free(str);
}
void print_mystring(Mystring* str) {
printf("%s\n", str->content);
}
int main() {
Mystring* str = create_mystring("Hello World!");
print_mystring(str);
destroy_mystring(str);
return 0;
}
```
这里定义了一个Mystring结构体,包含两个成员变量:content和len,分别表示字符串内容和长度。create_mystring函数用于创建一个Mystring对象,并将传入的字符串复制到Mystring对象的content成员变量中。destroy_mystring函数用于销毁Mystring对象,并释放相应的内存。print_mystring函数用于打印Mystring对象中的字符串内容。在main函数中,我们创建了一个Mystring对象,并打印其字符串内容,最后销毁该对象并返回0。
阅读全文