#include <iostream>
#include<string.h>
using namespace std;
class my_string
{
public:
//无参构造
my_string(){}
~my_string(){delete str;}
//有参构造
my_string(char *s)
{
str=new char[128];
strcpy(str,s);
}
//拷贝构造
my_string(const my_string& o)
{
this->str=new char[128];
strcpy(this->str,o.str);
this->len=o.len;
}
//拷贝赋值
my_string& operator =(const my_string& r)
{
this->str=new char[128];
strcpy(this->str,r.str);
this->len=r.len;
}
bool my_empty() // 判空
{
if(strlen(str)==0)
return true;
else
return false;
}
int my_size() // 求长度
{
return strlen(str);
}
char *my_str() // 转化为c风格字符串
{
return str;
}
private:
char *str;
int len;
};
int main(int argc,const char* argv[])
{
my_string s1("hello");
cout<<"s1:"<<s1.my_str()<<endl;
my_string s2=s1;
cout<<"s2:"<<s2.my_str()<<endl;
my_string s3;
s3=s1;
cout<<"s3:"<<s3.my_str()<<endl;
if(s3.my_empty())
{
cout<<"kong"<<endl;
}
else
{
cout<<"not kong"<<endl;
}
int len=s1.my_size();
cout<<"len="<<len<<endl;
return 0;
}
仿照string类,写一个my_string类
最新推荐文章于 2024-06-12 18:28:23 发布