当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击