c++中string类的模拟实现:构造函数(无参、拷贝等)
作者:野牛程序员:2024-01-03 14:27:25 C++阅读 2454
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