‘编写类string的构造函数,复制构造函数,析构函数和赋值函数’

编写类String的构造函数,复制构造函数,析构函数和赋值函数

已知String的原型为:

class String
{
public:
    String(const char* str = NULL);//普通构造函数
    String(const String &str);//拷贝构造函数
    String& operator =(const String& str);//赋值函数
    ~String();//析构函数
private:
    char* m_data;//用于保存字符串

}

答案:

#include <iostream>
#include <string>
#include <string.h>
using namespace std;
char* strcpy1(char* a, const char* b) {
    if (a == nullptr || b == nullptr) {
        return nullptr;
    }
    char* ptr = a;
    while ((*a++ = *b++) != '