仿照string类,实现自定义My_strng类,以及相关操作
创始人
2024-03-22 00:10:44
0

代码

#include 
#include using namespace std;class My_string
{
private:char* cstr;int len;
public:My_string():cstr(NULL),len(0)                     //无参构造{}My_string(const char* str)      //有参构造{this->len = strlen(str);this->cstr = new char[(this->len)+1];strcpy(this->cstr,str);}My_string(const My_string &other)//拷贝构造函数{this->len = other.len;this->cstr = new char;strcpy(this->cstr,other.cstr);}~My_string()                     //析构函数{delete this->cstr;}bool empty()                     //判断是否为空{return this->len == 0 ? true : false;}int size()                       //返回字符串的长度{return this->len;}char &at(int index)              //定位函数{return *(this->cstr+index);}char* c_str()                     //转化为C风格的字符串{return this->cstr;}};int main()
{My_string s1 = "hello";//e 0 5 hellocout << s1.at(1) << " " << s1.empty() << " " << s1.size() << " " << s1.c_str() << endl;My_string s2(s1);//hellocout << s2.c_str() << endl;My_string s3;//1cout << s3.empty() <c_str() << " " << s4->empty() << endl;delete s4;//e 0 5 hellocout << s1.at(1) << " " << s1.empty() << " " << s1.size() << " " << s1.c_str() << endl;return 0;
}

图片
在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...