c++常见题目,编写string类
来源:互联网 发布:csm算法 编辑:程序博客网 时间:2024/06/05 07:41
代码如下:
#include <string.h>#include <iostream>using std::cout;using std::endl;class String{ public: String(const char *src = NULL);//构造函数 String(const String &other);//拷贝构造函数 ~String(void);//析构函数 String & operator =(const String &other);//赋值函数 void ShowString(); private: char *m_data;};//String 的构造函数String::String(const char *src){ if(src == NULL)//当初始化串不存在的时候,为m_data申请一个空间存放'\0'; { m_data = new char[1]; *m_data = '\0'; } else//当初始化串存在的时候,为m_data申请同样大小的空间存放该串; { int length = strlen(src); m_data = new char[length+1]; strcpy(m_data,src); }}//析构函数String::~String(){ delete [] m_data;//析构函数释放地址空间}//拷贝构造函数 ,功能与构造函数类似String::String(const String &other){ int length = strlen(other.m_data); m_data = new char[length + 1]; strcpy(m_data,other.m_data);}//赋值函数String& String::operator = (const String &other){ if(this == &other)return *this;//当地址相同时,直接返回 delete [] m_data;//当地址不同时,删除原来申请的空间,重新开始构造 int length = strlen(other.m_data); m_data = new char[length + 1]; strcpy(m_data,other.m_data); return *this;}void String::ShowString()//由于m_data是私有成员,对象只能通过public成员函数来访问{ cout<<this->m_data<<endl;}int main(){ String s1; char *p = "ABCDEFGH"; String s2(p); s1.ShowString(); s1 = s2; s2.ShowString(); system("pause"); return 0;}
[1] http://blog.csdn.net/xiaobo620/article/details/7396552
0 0
- c++常见题目,编写string类
- C语言常见题目
- C++string类常见用法(一)
- C++string类常见用法(二)
- c语言常见笔试题目
- C语言常见题目1
- C语言常见题目2
- C/C++常见面试题目
- c/c++面试常见题目
- C/C++ 面试常见题目
- C++常见笔试面试题目:string类的拷贝赋值运算符函数
- C++:【常见面试题】String类的写法
- C/C++笔试面试常见题目2
- C/C++ 常见面试题目 (一)
- 编写String类
- 编写类String原型
- String类的编写
- string类的编写
- redis 快速入门-集群-客户端(Jedis)测试
- 流式计算框架调研
- python 的特殊方法 __str__和__repr__
- Struts2笔记
- Bitmap如何高效加载图片
- c++常见题目,编写string类
- bzoj 4176: Lucas的数论 (反演)
- Android Studio集成友盟APP统计
- ffmpeg日志回调添加
- 强化学习读书笔记
- nodeJS socket 多个房间的聊天室
- 总结的一些简单实用的小方法
- 初识Shiro
- Spring组合属性