考string类完成my_string类
#include <iostream>
#include <cstring>using namespace std;
class my_string
{
private:char *str;int len;
public:my_string(){len = 15;str = new char[15];}//有参构造my_string(char *p){len = strlen(p);str = new char[strlen(p)+1];strcpy(str, p);cout<<"有参构造函数"<<endl;}//拷贝构造my_string(const my_string &other){if(this != &other){this ->len = other.len;this->str = new char[len+1];strcpy(this->str, other.str);}cout<<"拷贝构造函数"<<endl;}//拷贝赋值my_string &operator=(const my_string &other){if(this != &other){this->len = other.len;this->str = new char[len+1];strcpy(this->str, other.str);}cout<<"拷贝赋值函数"<<endl;return *this;}//析构函数~my_string(){delete str;cout<<"析构函数"<<endl;}void show(){cout<<"str::"<<str<<endl;}//判空bool empty(){if(len==0){return true;}else{return false;}}//求总长度int size(){return len;}//at()char &at(int pos){return str[pos];}//转c风格字符串char *c_str(){return str;}
};
int main()
{string s4 = "lisi";cout<<s4<<endl;my_string s1("zhangsan");my_string s2(s1);s1.show();my_string s3;s3 = s1;cout<<"s3.at(3):"<<s3.at(3)<<endl;return 0;
}