#include <iostream>
#include <cstring>
using namespace std;
class my_string
{
private:
char*str;
int len;
public:
my_string(){} //无参构造
my_string(char *_str) //有参构造
{
this->str=_str;
len=strlen(_str);
}
my_string(const my_string&other):str(other.str),len(other.len){}
my_string&operator =(const my_string&other)
{
if(this!=&other)
{
if(this->str!=NULL)
{
delete this->str;
this->str=NULL;
}
this->str=new char[128];
strcpy(str,other.str);
this->len=other.len;
}
return *this;
}
~my_string()
{
delete str;
}
void display()
{
cout<<str<<"\t"<<len<<endl;
}
bool my_empty()
{
return strlen(str)==0?true:false;
}
int my_size()
{
return strlen(str);
}
char *my_str()
{
return str;
}
};
int main()
{
my_string str1;
char* str="hqyj";
my_string str2(str);
cout<<"str2"<<endl;
cout<<str2.my_empty()<<endl;
str2.display();
my_string str3(str2);
cout<<"str3"<<endl;
cout<<str3.my_empty()<<endl;
str3.display();
str1=str3;
cout<<"str1"<<endl;
cout<<str1.my_empty()<<endl;
str1.display();
return 0;
}
0822练习
最新推荐文章于 2024-11-06 15:03:58 发布
本文展示了如何在C++中创建一个名为`my_string`的自定义字符串类。类包括构造函数、拷贝构造函数、赋值运算符重载、析构函数以及成员函数如`my_empty`、`my_size`和`display`等,用于检查字符串是否为空、获取字符串长度和显示字符串内容。通过实例展示了类的使用,如创建字符串对象、赋值和输出。
摘要由CSDN通过智能技术生成