字符串类
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; }
相关文章推荐
- Android 获取手机号码归属地
- OpenCV_基于混合高斯模型GMM的运动目标检测
- 《mount的艺术》-linux命令五分钟系列之十四
- HDU 2460 Network(Tarjan求解桥+LCA)
- Android系统在超级终端下必会的命令大全(adb shell命令大全)
- 转 一个简单实用的 生成验证码的 代码
- Django 更新字段
- 最适合程序员编程的10款字体
- 《玩转shutdown》-linux命令五分钟系列之十三
- LeetCode----Remove Element
- C++ 标准库和标准模板库
- C语言之循环链表
- vc6.0快捷键汇总
- CC1101调试入门
- iOS开发系列—内存管理
- jQuery的简单了解
- 0909 有感而发
- 约瑟夫环 数组与链表实现
- 《用chsh选择shell》-linux命令五分钟系列之十二
- C语言操作之单链表操作之删除