C++面试题:String类的实现
来源:互联网 发布:编程教程 编辑:程序博客网 时间:2024/06/03 23:41
C++面试题:String类的实现
标签: string http://blog.csdn.net/yvhqbat/article/details/51611413
2016-06-08 10:32 330人阅读 评论(0)收藏举报
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
编写类String的构造函数、析构函数和赋值函数,已知类String的原型为:
class String{public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~String(void); // 析构函数 String& operator =(const String &other); // 赋值函数 private: char *m_data; // 用于保存字符串 };/*String的实现*/String::String(const char *str=NULL){ if(str==NULL){ m_date=NULL; }else{ int len=strlen(str); m_data=new char[len+1]; strcpy(m_data,str); }}String::String(const String &other){ int len=strlen(other.m_data); m_data=new char[len+1]; strcpy(m_data,other.m_data);}String::~String(){ if(m_data!=NULL){ delete[] m_data; m_data=NULL; }}String& String::operator=(const String &other){ if(this==&other){ return *this; } if(m_data!=NULL){ delete[] m_data; } int len=strlen(other.m_data); m_data=new char[len+1]; strcpy(m_data,other.m_data); return *this;}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
参考:http://www.cnblogs.com/jwyue0520/archive/2012/12/03/2800160.html
阅读全文
0 0
- C++面试题:String类的实现
- C++面试题--string类的实现
- C++面试题:String类的实现
- C++面试题:String类的实现
- C++【常见面试题】String类的实现,以及深拷贝、浅拷贝问题
- c string 面试题
- C++:【常见面试题】String类的写法
- String类的实现 -- C++经典面试题
- 【C++】面试题:模拟实现string类(版本一:用深度拷贝来实现 )
- String 的面试题
- String的面试题
- String类面试题
- 面试题 String类
- String类猥琐的面试题
- String类的一道面试题
- C/C++面试题:编写类String的构造函数、析构函数和赋值函数。
- String类型的面试题
- String相关的面试题
- 进程与线程的区别
- Ubuntu Tomcat的安装与配置
- 《Inside C#》笔记(十四) 反射
- HDU-2013-蟠桃记
- python --- mysql启动与基本用法
- C++面试题:String类的实现
- java集合框架提升
- Jenkins搭建Egret H5开发的自动化构建(持续集成)
- PC版车牌识别在机器人中的使用
- Java学习第五天
- Dubbo hellword
- 暑假day1
- 【数据结构于算法分析】递归算法的运行流程
- linux rpm安装mysql