c++中string类的模拟实现:构造函数(无参、拷贝等)
作者:野牛程序员:2024-01-03 14:27:25 C++阅读 2877
String类的模拟实现可以包括无参构造函数、拷贝构造函数等。以下是一个简化版的C++代码,用于模拟String类的构造函数:
#include <cstring>
#include <iostream>
class MyString {
private:
char *str;
public:
// 无参构造函数
MyString() : str(nullptr) {}
// 带参构造函数
MyString(const char *s) {
if (s) {
str = new char[strlen(s) + 1];
strcpy(str, s);
} else {
str = nullptr;
}
}
// 拷贝构造函数
MyString(const MyString &other) {
if (other.str) {
str = new char[strlen(other.str) + 1];
strcpy(str, other.str);
} else {
str = nullptr;
}
}
// 析构函数
~MyString() {
delete[] str;
}
// 其他成员函数和操作符重载可以根据需要添加
};
int main() {
// 使用模拟实现的String类
MyString str1; // 调用无参构造函数
MyString str2("Hello"); // 调用带参构造函数
MyString str3 = str2; // 调用拷贝构造函数
// 在析构函数中释放内存
return 0;
}这个简化的例子包括了无参构造函数、带参构造函数和拷贝构造函数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

