// string的几个基本函数的实现#include <iostream>
#include <assert.h>
#include <string.h>
using namespace std;class String
{
public:String(){_str = new char[1];_str[0] = '\0';}String(char *str){assert(str != NULL);_str = new char[strlen(str) + 1];strcpy(_str, str);}String(const String& s){_str = new char[strlen(s._str) + 1];strcpy(_str, s._str);}String& operator=(const String& s){if (this != &s){delete[] _str;_str = new char[strlen(s._str) + 1];strcpy(_str, s._str);}return *this;}~String(){delete[] _str;}
public:void getstr(){cout << _str << endl;}
private:char *_str;
};int main()
{String s;s.getstr();String s1("123");s1.getstr();String s2 = s1;s2.getstr();s = s1;s.getstr();return 0;
}

转载于:https://www.cnblogs.com/yfceshi/p/7130686.html

【c++】简单的string类的几个基本函数相关推荐

  1. 全面深入介绍C++字符串:string类

    http://blog.csdn.net/liuliming3000/article/details/1809385 1 从C到C++ string类 2 string类的构造函数 3 string类 ...

  2. c++string类的相关操作

    string的应用是非常典型的,下面我写了一些简单的string类的相关的一些操作,包括增删查改等一些功能和一些运算符的重载,包括他们的测试用例: #include<iostream> # ...

  3. 『C++』string类模拟实现

    深拷贝与浅拷贝 首先来看一段代码 #include <iostream> #include <string.h> #include <assert.h>class ...

  4. 冰冰学习笔记:string类的简单模拟

    欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正. 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位大佬.帅哥.美女点点支 ...

  5. 【C++】STL——string的简单介绍、string类的访问和遍历、operator[] 、begin+ end begin 、rbegin + rend begin 、范围for

    文章目录 1.string类 1.1string类对象的访问及遍历操作 (1)operator[] (2)begin+ end begin (3)rbegin + rend begin (4)范围fo ...

  6. Java里的字符串, String类简单介绍.

    String类在java面试中也是1个常见的问题点. 所以也是写在这里方便以后查阅了. 大家都知道c语言里是没有String 字符串这个数据类型的. 只能用字符数组的1个特殊形式来表示一个字符串, 就 ...

  7. Java常用类之String类知识清单,简单易理解

    String类基础知识 1.String类表示字符串,理解为不可变的字符序列 2.String类声明为final,不可被继承 3.String类实现了Serializable接口:表示字符串是支持序列 ...

  8. C++ 有关string类的基本语法以及一个简单算法 理论加案例的形式

    #include<iostream> using namespace std; #include"string" //string类的头文件 #include" ...

  9. C++ 笔记(22)— STL string 类(字符串赋值、访问、拼接、查找、翻转、大小写转换)

    1. 实例化和赋值 STL string #include <string> #include <iostream>int main () {using namespace s ...

最新文章

  1. oracel 不为null 保存空字符串
  2. 设置socket IP_TOS选项 (转载)
  3. AtCoder AGC029E Wandering TKHS
  4. Spark配置参数详解
  5. mysql的cpu高定位
  6. Open vswitch 之Qos rate-limiting 原理
  7. mysql慢查询的使用_mysql慢查询使用详解
  8. [设计] - 判断LOGO好坏的12条参考标准
  9. python pip下载安装一半退出_Python- 解决PIP下载安装时因为网络速度慢而导致失败的方法...
  10. 威纶通触摸屏与仪表通讯_【智】威纶通触摸屏与两台变频器Modbus RTU通讯案例详解...
  11. E大调第一个指型_初学吉他大调与对应小调的知识,看完这个就懂了
  12. CentOS简单上手——第四篇
  13. 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2
  14. 十款免费的Web前端开发工具
  15. 搜狗输入法转语音体验报告
  16. 【OpenCV】人脸检测和识别
  17. Android中从视频中提取音频
  18. NID修改数据库名称时候碰到NID-00137
  19. 数据集:UCI【UC Irvine Machine Learning Repository】
  20. 【原创】Ubuntu 下使用 NCverilog 仿真 Verilog 工程

热门文章

  1. 聊一聊你了解的程序猿是什么样的?
  2. 学习web前端开发大半年,迷茫了,感觉什么都没学会怎么破?
  3. 初级前端如何突破瓶颈
  4. centos 日志切割_CentOS Linux使用logrotate分割管理日志
  5. mysql半连接_MySQL优化案例:半连接(semi join)优化方式导致的查询性能低下(转载)...
  6. python列表大于60_Python使用filter如何对给定列表中的数字进行过滤,保留大于等于60的数字?...
  7. python什么是堆什么是栈_顶置篇:CPython的内存概念:栈、堆和引用
  8. java单链表基本操作 一,Java_实现单链表-基本操作
  9. 天合光能环卫机器人_无人驾驶已在南京多个领域落地!无人环卫,离全面落地还有多久...
  10. RNN隐藏层的两种计算方法GRU和LSTM