C++ 自定义简单String类
2015-07-24 13:03
239 查看
String类是开发中最常用到的一个类。
下面是按照自己的理解,对String类的进行简单的封装定义,实现了默认构造函数,拷贝构造函数,赋值构造函数,<<运算符重载,==运算符重载等常用功能(有纰漏或不合理之处请不吝指正!)。
有几个关键的点:
在默认构造函数中 不可pStr = NULL,因为new要与delete配对(=构造函数中)
而且cout 输出pStr(空指针)程序会出错。
在赋值构造函数中要判断是否为自我复制,若是自复制则不用重新申请空间,直接返回即可。
具体实现如下所示
1)MyString类定义
![](http://img.blog.csdn.net/20150724125800711)
2)成员函数定义
![](http://img.blog.csdn.net/20150724125909971)
![](http://img.blog.csdn.net/20150724125942074)
3)主函数
![](http://img.blog.csdn.net/20150724130033138)
![](http://img.blog.csdn.net/20150724130043035)
4)运行结果
下面是按照自己的理解,对String类的进行简单的封装定义,实现了默认构造函数,拷贝构造函数,赋值构造函数,<<运算符重载,==运算符重载等常用功能(有纰漏或不合理之处请不吝指正!)。
有几个关键的点:
在默认构造函数中 不可pStr = NULL,因为new要与delete配对(=构造函数中)
而且cout 输出pStr(空指针)程序会出错。
在赋值构造函数中要判断是否为自我复制,若是自复制则不用重新申请空间,直接返回即可。
具体实现如下所示
1)MyString类定义
2)成员函数定义
3)主函数
4)运行结果
相关文章推荐
- 用C语言一次性读取多个文件,大量文件
- C++ RTTI介绍
- C++中替代sprintf的std::ostringstream输出流详解
- 提取数字的每一位
- C++ char*,const char*,string的相互转换
- C++中wstring与string相互转化
- 02C语言指针
- 电力系统潮流计算程序实现C语言版(动态节点+稀疏技术)
- 一个URL编码和解码的C++类
- c++ 如何实现,readonly
- C++ 智能指针详解
- C++ cin对象
- C++动态内存分配(堆)
- C++动态内存分配(堆)
- C++动态内存分配(堆)
- C++动态内存分配(堆)
- C++动态内存分配(堆)
- C++动态内存分配(堆)
- C++动态内存分配(堆)
- C++动态内存分配(堆)