您的位置:首页 > 其它

字符串类

2015-09-10 20:06 162 查看
#define _CRT_SECURE_NO_WARNINGSss

#include <iostream>
using namespace std;

class String
{
private:
char* _ptr;
public:
String()//构造函数
:_ptr(new char[1])
{
_ptr[0] = '\0';
}
String(char* str)//构造函数重载
:_ptr(new char[strlen(str)+1])
{
strcpy(_ptr,str);
}
String(const String& s)//拷贝构造
:_ptr(new char[strlen(s._ptr)+1])
{
strcpy(_ptr,s._ptr);
}
String& operator=(const String& s)//赋值操作符的重载
{
if (this != &s)
{
_ptr = s._ptr;
}
return *this;
}
~String()//析构函数
{
if (_ptr != NULL)
{
delete[] _ptr;
_ptr = NULL;
}
}
public:
char* Getstr()
{
return _ptr;
}
char& operator[](size_t index)
{
return _ptr[index];
}
};

int main()
{
String s1;
cout<<"s1:"<<s1.Getstr()<<endl;

String s2("abcd");
cout << "s2:" << s2.Getstr() << endl;

String s3(s2);
cout << "s3:" << s3.Getstr() << endl;

s1 = s3;
cout << "s1:" << s1.Getstr() << endl;

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: