#include <iostream>
#include <cstring>
#include <string>
using namespace std;
class my_string
{
private:
char* str;
int len;
public:
my_string()
{
cout<<"无参构建"<<endl;
}
my_string(char* data) //构造1
{
str = new char[1];
strcpy(str, data);
len = strlen(str);
}
my_string(char data, int l) //构造2
{
int i;
str = new char[1];
for(i=0; i<l; i++)
{
str[i] = data;
str[l] = 0;
len = l;
}
}
my_string(const my_string &O) //拷贝构造
{
this->len = O.len;
this->str = new char[1];
strcpy(str, O.str);
}
my_string &operator=(const my_string &O)
{
delete this->str;
this->str = NULL;
this->len = O.len;
this->str = new char[1];
strcpy(str, O.str);
}
void show()
{
cout<<str<<" : "<<len<<endl;
}
};
int main()
{
my_string s1("hello world");
s1.show();
my_string s2('o', 9);
s2.show();
my_string s3(s1);
s3.show();
s2 = s1;
s2.show();
return 0;
}
01-29
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交