参考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;
- }

-
相关阅读:
【论文笔记】Language Models are Few-Shot Learners
推理框架概览
Spring MVC介绍
机器学习(新手入门)-线性回归 #房价预测
flink技术总结待续
zookeeper集群安装
SkeyeARS新版本发布,开启AR实景地图新篇章
EasyCVR视频调阅页面如何正确关闭正在播放的视频?
互联网广告人--联合御寒--品牌,代理,平台,达人 多方携手御寒
C++回顾<二>:类-this指针-构造函数-析构函数-隐式/显式调用explicit-初始化列表 -static静态成员变量/函数-常对象|常函数
-
原文地址:https://blog.csdn.net/ww1106/article/details/127098687