标签:string类
#include<iostream> using namespace std; class String { public: String(const char* str) :_str(new char[strlen(str)+1]) { strcpy(_str,str); } /*String(const String& s) :_str(NULL) { String tmp(s._str); swap(_str,tmp._str); }*/ String(const String& s) :_str(new char[strlen(s._str)+1]) { strcpy(_str,s._str); } /*String& operator=(String s) { swap(_str,s._str); return *this; }*/ /*String& operator=(String &s) { if(this!=&s) { delete []_str; _str=new char[strlen(s._str)+1]; strcpy(_str,s._str); } return *this; }*/ String& operator=(const String& s) { if(this!=&s) { String tmp(s); swap(_str,tmp._str); } return *this; } ~String() { if(_str) { delete []_str; } } void Print() { if(_str) cout<<_str<<endl; } private: char* _str; }; void test() { String s1("we are young"); String s2(s1); s2.Print(); String s3("lallaa"); s3=s1; s3.Print(); } int main() { test(); system("pause"); return 0; }
本文出自 “liveyoung” 博客,转载请与作者联系!
标签:string类
原文地址:http://10707042.blog.51cto.com/10697042/1769461