仿照string类,实现myString类
代码
#include <iostream>
#include <cstring>
using namespace std;
class myString
{
private:
char *str;
int size;
public:
myString():size(10)
{
str = new char[size];
strcpy(str,"");
}
myString(const char *s)
{
size = strlen(s);
str = new char [size+1];
strcpy(str,s);
}
myString(const myString &other):size(other.size)
{
str=new char[size+1];
strcpy(str,other.str);
}
~myString()
{
delete []str;
}
bool empty()
{
return size==0;
}
int length()
{
return size;
}
const char * c_str()
{
return str;
}
char &at(int pos)
{
char &m = str[pos];
return m;
}
};
int main()
{
myString s1("hello");
myString s2(s1);
cout<<s2.c_str()<<endl;
return 0;
}
运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/623685e0b89b41eeb4a90e0c146e53ff.png)