#include <iostream>
using namespace std;
class my_string
{
private:
char *str;
int len;
public:
my_string(){}//无参构造函数
my_string(char *s,int a):str(s),len(a) //有参构造函数
{
cout<<"this is youcang"<<endl;
}
my_string(const my_string &o) //拷贝构造函数
{
this->str = o.str;
this->len = o.len;
cout<<"this is copy"<<endl;
}
my_string &operator = (const my_string& other) //拷贝赋值
{
this->str = other.str;
this->len = other.len;
}
bool my_empty()
{
return *str==0?true:false;
}
int my_size(char *s)
{
len = 0;
while(str[len]!=0)
{
len++;
}
return len;
}
char *my_str()
{
return str;
}
void display()
{
cout<<str<<'\t'<<len<<endl;
}
};
int main()
{
my_string s1("ggbao",1),s2("hhh",2);
s2.display();
my_string s3(s1);
s3.display();
s1=s2;
s1.display();
cout << "Hello World!" << endl;
return 0;
}
运行图: