【String类】C++:String类的传统写法与现代写法
2016-05-30 17:17
417 查看
传统写法:
本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1745773
现代写法: #include<iostream> #include<stdlib.h> using namespace std; class String { public: String(char* str = "") :_str(new char[strlen(str) + 1]) { strcpy(_str, str); } String(const String& s) :_str(NULL) { String tmp = s._str; swap(tmp._str, _str); } String& operator = (const String& s) { if (&s != this) { String tmp = s._str; swap(tmp._str, _str); } return *this; } ~String() { if (_str) { delete[] _str; } } private: char* _str; }; void Test() { String s1("s1"); String s2(s1); } int main() { Test(); system("pause"); }
本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1745773
相关文章推荐
- 【C++】实现动态顺序表的PushBack(),PopBack(),PushFront(),PopFront(),Find(),Insert
- 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。
- 【C++】实现双向链表的所有操作,包括逆置双链表(三种方法)
- 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)
- 【继承与多态】C++:继承中的赋值兼容规则,子类的成员函数,虚函数(重写),多态
- 【C++】模版类实现普通类静态顺序表
- C语言:使用malloc开辟一个3*4的二维数组,并将内容初始化为1-12.
- C语言:单链表的实现(包括:尾插、尾删、头插、头删、指定位置插入、长度、打印)
- C语言:【单链表】删除一个无头单链表的非尾节点
- C语言:【单链表】在无头单链表的一个非头节点前插入一个节点
- C语言:【单链表】逆置反转单链表
- C语言:【单链表】查找单链表的中间节点,要求只能遍历一次
- C语言:【单链表】查找单链表的倒数第k个节点,要求只能遍历一次
- C++:复数类构造函数、拷贝构造、运算符重载、析构函数
- C++【面试题】:类实现万年历(日期计算器),(含构造函数、拷贝构造、运算符重载、析构函数)
- C语言【顺序表】冒泡排序,一次选出最大最小的数据,二分查找,初始化顺序表
- C语言【顺序表】顺序表的初始化,头插,尾插,头删,尾删,增删查改,全删
- C++:【常见面试题】String类的写法
- C++【String类】String查找单个字符,查找字符串的函数实现
- C++【String类】String删除单个字符,删除字符串的函数实现