听侯捷老师讲课的笔记:
string.h头文件:
#pragma once class String { public: String(const char* cstr); String(const String& str); String& operator =(const String& str); ~String(); char* get_c_str() const { return m_data; }//这个类的成员函数内的所有操作,不准备改变私有数据m_data,所以要加上 //const去修饰这个函数,一出手就要:不同凡响 private: char* m_data; }; inline String::String(const char* cstr=0) { if (cstr) { std::cout << "如果传进来的字符串不为空,它就是:"<<std::endl; m_data = new char[strlen(cstr) + 1]; strcpy(m_data, cstr); } else { std::cout << "如果传进来的字符串为空,它就是:" << std::endl; m_data = new char[1]; *m_data = '