码迷,mamicode.com
首页 > 其他好文 > 详细

string类的实现加强版

时间:2016-03-09 19:19:19      阅读:153      评论:0      收藏:0      [点我收藏+]

标签: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 类

原文地址:http://luminous.blog.51cto.com/10797288/1749148

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!