请编写可执行的c++程序,实现自定义类似string的类(有以下不完整的类信息,请完善构造函数、析构函数、复制构造函数、输出函数等) class Mystring { private: char *text; public: Mystring(char *ch); //构造函数 //请完善 };
时间: 2024-02-20 07:57:13 浏览: 73
以下是完整的可执行的C++程序,实现了自定义类似string的类:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class Mystring {
private:
char *text;
public:
Mystring(char *ch); //构造函数
Mystring(const Mystring &str); //复制构造函数
~Mystring(); //析构函数
void print(); //输出函数
};
Mystring::Mystring(char *ch) {
int len = strlen(ch);
text = new char[len + 1];
strcpy(text, ch);
}
Mystring::Mystring(const Mystring &str) {
int len = strlen(str.text);
text = new char[len + 1];
strcpy(text, str.text);
}
Mystring::~Mystring() {
delete[] text;
}
void Mystring::print() {
cout << text << endl;
}
int main() {
Mystring str1("Hello, world!");
Mystring str2(str1);
str1.print();
str2.print();
return 0;
}
```
上述代码中,首先定义了Mystring类,并在类中实现了构造函数、复制构造函数、析构函数和输出函数。在主函数中,创建了两个Mystring对象str1和str2,分别用字符串字面值和另一个Mystring对象进行初始化,然后调用它们的print函数输出text成员变量的值。最后返回0表示程序正常结束。
阅读全文