my_string类
class my_string{
public:
my_string():str(NULL),len(0){ //无参构造
}
my_string(const char *str):str(new char[strlen(str)+1]),len(strlen(str)){ //有参构造
strcpy(this->str,str);
}
my_string(const my_string &other):str(new char[strlen(other.str)+1]),len(strlen(other.str)){ //拷贝构造
strcpy(str,other.str);
}
~my_string(){ //析构函数
delete []str;
str=NULL;
}
bool empty(){ //判断是否为空
if(len>0){
return false;
}else{
return true;
}
}
int size(){ //返回字符串的长度
return len;
}
char &at(int index){ //定位函数
if(index<=len&&index>0)
return this->str[index-1];
}
char* c_str(){ //转化为C风格字符串
return this->str;
}
private:
char *str;
int len;
};
1.调用有参构造
2.调用拷贝构造
3.判空 以及 求字符串长度(0--非空 1--为空)
4.定位字符
5.转化为c类型字符串