参考string类完成my_string类
- #include
- #include
- using namespace std;
- class my_string
- {
- private:
- char *str;
- int len;
- public:
- //无参构造
- my_string()
- {
- len = 15;
- str = new char[len];
- cout<<"无参构造"<
- }
- //有参构造
- my_string(char *p)
- {
- len = 15;
- this->str = new char[len];
- memset(str,0,15);
- strcpy(str,p);
- cout<<"有参构造"<
- }
- //拷贝构造
- my_string(const my_string &other)
- {
- len=15;
- this->str=new char[len];
- memset(str,0,15);
- strcpy(str,other.str);
-
- }
- //拷贝赋值
- my_string &operator=(const my_string &other)
- {
- if(&other !=this)
- {
- len=15;
- this->str=new char[len];
- memset(str,0,15);
- strcpy(str,other.str);
- }
-
- }
- //析构函数
- ~my_string()
- {
- delete str;
- cout<<"析构函数"<<" "<<this<
- }
- void show()
- {
- cout<
- }
- //判空
- bool empty()
- {
- if(*str==0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //求总长度
- int size()
- {
- int l=0;
- char *q=str;
- while(*q!=0)
- {l++;
- q++;
- }
-
- return l;
- }
- //at()
- char &at(int pos){}
- //转c风格字符串函数
- char *c_str(){};
- };
- int main()
- {
- char * p ="hello" ;
- my_string s1;
- my_string s2(p);
- s2.show();
- my_string s4(s2);
- s4.show();
- my_string s5;
- s5=s4;
- s5.show();
- cout<
size()< -
-
- return 0;
- }

-
相关阅读:
【OpenCV 图像处理 Python版】OpenCV 简介及安装
计算机毕业设计SSM订餐系统【附源码数据库】
jdk 安装与配置环境(windows系统)
【配置环境】Windows下C/C++第三方库管理工具vcpkg安装和使用
GitLab 管理 NuGet 包
PDF如何解密?介绍几个简单小方法
vue---十分钟搞懂vue计算属性
王子变青蛙-第11届蓝桥杯Scratch省赛真题第2题
M.2接口电路设计
沉睡者IT - 贡献者和律师的Web3指南:充分去中心化
-
原文地址:https://blog.csdn.net/ww1106/article/details/127098687