string类的实现加强版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string类的实现加强版相关的知识,希望对你有一定的参考价值。

对上次的实现做了改进之后,实现为如下代码:

#include<iostream>
#include<cstring>
using namespace std;

class String
{
	public:
	String(char *str="")
		:_str(new char[strlen(str+1)])
	{
		strcpy(_str,str);
	}

	String(const String& str)
		:_str(NULL)
	{
		String tmp(str._str);
		swap(_str,tmp._str);
	}

	~String()
	{
		delete[] _str;
	}

	String& operator=(String& str)
	{
		swap(_str,str._str);
		return *this;
	}
	
	friend ostream& operator<<(ostream& os,const String& str);

private:
	char *_str;

};

ostream& operator<<(ostream& os,const String& str)
{
	os<<str._str<<endl;
	return os;
}

int main()
{
	String s1("go");
	String s2("die");
	String s3=s1;
	cout<<s1;
	cout<<s2<<s3;
	getchar();
	return 0;
}


本文出自 “七月朔风” 博客,请务必保留此出处http://luminous.blog.51cto.com/10797288/1749148

以上是关于string类的实现加强版的主要内容,如果未能解决你的问题,请参考以下文章

string类的实现终极版

二柱子课后题加强版的加强版

数据结构之_单链表加强版企业链表的实现

C++从青铜到王者第八篇:STL之string类的模拟实现

for循环加强版理解

四则运算加强版