C++学习之定义string类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在线学习好工作/
C++学习之定义string类
string类使用起来比较方便,在本课程的开始我们就学习了string类。之所以那么早就学习string,就是希望大家能够用string代替c风格的字符串。目前为止,我们学习了如何定义类,以及如何为类定义运算符重载函数。今天我们就来定义一个类似于string功能的自己的String类。
各个函数
1.构造函数
String(const char *s); //用c字符串s初始化
String(int n,char c); //用n个字符c初始化
2.拷贝和赋值
String& String(String& str);
const String& operator=(String& str);
3.析构函数
~String();
4.下标访问
char &operator[](int n);
char &at(int n)const;
5.String类提供的方法
int size()const; //返回当前字符串的大小,string内部不会在我们每一次的字符串连接的时候都会分配空间,它会多分配一些内存,下次连接时的字符串小于剩下的空间它就不用再为这个字符串分配另外的空间了。它分配的所有空间就是size,而字符串的实际长度length
int length()const; //返回当前字符串的长度
bool empty()const; //当前字符串是否为空
6.重载流插入和提取运算符
istream& operator>>(istream& input, String& str);
ostream& operator<<(ostream& output, String& str);
7.连接两个字符串
String &operator+=(String &s);
8.字符串比较
bool operator==(const String &s1,const String &s2)const;
int compare(const string &s) const;//比较当前字符串和s的大小
在我们这里实现的string类是比较简单的,C++标准模板库里面的string类的方法是非常非常多的,而且是非常非常复杂的。这里我们仅仅是为了给大家演示一下string类内部大概的实现方法,以及复习大家前段事件所学习的内容。
文章来源:麦子学院
原文链接:/wiki/cplus/class/