怎么利用C++实现Mystring类


这篇文章主要介绍“怎么利用C++实现Mystring类”,在日常操作中,相信很多人在怎么利用C++实现Mystring类问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用C++实现Mystring类”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!1> 实现头文件的封装:MyString.h2> 缺省构造函数对字符串的初始化( MyString() )3> 使用构造函数初始化字符串的另外两种方式 * 2( 动态指针+拷贝构造函数 )4> 析构函数( 释放动态申请的字符串空间 )5> 重载输出运算符(
6> 重载赋值运算符 * 2( = )7> 重载下标运算符( [],索引输出 )1> 字符串长度的比较2> 字符串的排序功能3> 字符串的倒置4> 字符串中指定两个字符的交换5> 查找某字符串是否位于指定的字符串中(采用暴力查找)1> 使用自定义函数来替换strlen()和strcpy()1) MyString.h2)MyString.cpp这里需要提到的一点是析构函数中的delete[] str;使用new得来的空间使用delete释放;使用new[]得来的空间使用delete[]释放;这是永远不会错的。但是更加深入一点去理解:使用new[]得到的空间如果 动态申请的数据类型时基本数据类型也可以使用delete直接释放,但是如果使用new[]申请的数据的类型时自定义类型(例如类名),这就必须使用delete[]来进行释放,只有这样才能够调用自定义类型的析构函数进行对自定义类型进行释放。除此之外,再提一点关于delete[]的注意事项:当使用new[]动态生成内存的时候,删除的时候必须将删除的指针指向new[]出来的内存的首地址:这一段小程序中:因为p指针不是指向了首地址,所以程序虽然没报错,但是无法正常运行!我们可以将申请的首地址保存起来,供删除的时候使用。3)test_main.cpp字符串长度的比较使用>/>=/
bool operator >(const MyString &str);bool operator >(const char * c_str);bool operator bool operator bool operator >=(const MyString &str);bool operator >=(const char * c_str);bool operator bool operator 字符串的排序功能使用类中的成员函数对类中的私有字符串进行从小到大的排序:A.Sort_String_LB();A.Sort_String_BL();字符串的倒置使用类中的成员函数对类中的私有字符串进行倒置:A.Reverse();字符串中指定两个字符的交换A.ChangeTwoCharPosition免费云主机域名(int firstposition,int second position);查找某字符串是否位于指定的字符串中(采用暴力查找)A.Find(char *search_string);MyString.hMyString.cppTest_Possess.cpp本次更新了 “取消了strlen()与strcpy()的使用,在间接调用该接口的自定义函数中,使用自定义方法实现这两个接口的功能”这里仅仅给出了替换部分部分示例,其他部分也可按照相同原理替换:( 附加:对于自定义的类,需要尽量减少对其他头文件的需求。)到此,关于“怎么利用C++实现Mystring类”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: node+multiparty如何实现文件上传

这篇文章主要讲解了“node+multiparty如何实现文件上传”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node+multiparty如何实现文件上传”吧!文件上传是每个项目中大概必不可少的操作,今天我…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/28 20:46
下一篇 03/28 20:53

相关推荐