#include <cstdlib>
#include <cstring> class Mystring
{
public:
Mystring(const char * pdata)
{
if(pdata==NULL)
{
data = new char[];
*data = '\0';
}
else
{
int len = strlen(pdata);
data = new char[len+];
strcpy(data,pdata);
}
}
Mystring(const Mystring &str)
{
int len = strlen(str.data);
data = new char[len+];
strcpy(data,str.data);
} Mystring &operator=(const Mystring &str)
{
if(this!=&str)
{
Mystring strTemp(str);
char *pTemp = strTemp.data;
strTemp.data = this->data;
this->data = pTemp;
}
return this;
}
ostream & operator<<(ostream &os,const Mystring &str)
{
os<<str.data;
return os;
}
Mystring & operator+(const Mystring & str)const
{
if(str.data!=NULL)
{
int len1 = strlen(str.data);
int len2 = strlen(this->data);
Mystring strTemp(*(this->data));//创建一个临时对象保存原来对象的数据
delete []data;//删除原来的数据
data=NULL;
data = new char[len1+len2+];//开闭新的空间
strcpy(data,strTemp.data);//复制
strcat(data,str.data);//拼接
}
return this;
} char & operator[](int index)//char返回引用,是为了我们之后可以修改字符串
{
int len = strlen(data);
if(index>len||index<)
{
perror("index is not in the cope!");
exit();
}else
return *((this->data)+index);
} ~Mystring()
{
delete []data;
}
private:
char * data;
};

C++ string数据类型的实现的更多相关文章

  1. Java中的String数据类型

    本文主要是说明一些String数据类型的基本知识,有些杂乱,不过都是比较重要的东西,主要是参考了网上人的资料.原文网址:http://dev.yesky.com/91/2309091.shtml 主要 ...

  2. redis之string数据类型常用方法总结

    目录 redis 字符串(string)[需要掌握] 特点 语法 redis 字符串(string)[需要掌握] 特点 一个键能存储512MB数据 string类型是二进制安全的,可以存储任何数据,比 ...

  3. 你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)

    3.5.2  字符串类型 使用char类型的变量我们可以表示单个字符,那么,我们又该如何表示拥有多个字符的字符串呢? 我们注意到,一个字符串是由多个字符串连起来形成的.很自然地,一种最简单直接的方法就 ...

  4. Redis学习-string数据类型

    Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...

  5. 全面理解Java中的String数据类型

    1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...

  6. Redis常用命令(String数据类型)

    一.概述:      字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中 ...

  7. Redis教程(二):String数据类型

    一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...

  8. Redis 对String数据类型的操作

    Redis的 Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字.使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更 ...

  9. js中的String数据类型

    string中包含一些特殊的字符字面量,又叫转义序列,\n 意思是换行,\t 意为制表,\b意为空格,\r回车,\\斜杠. 1.ECMAScript中字符串是不可变的. 2.转换字符串的方法:toSt ...

  10. Redis学习手册(String数据类型)

    一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...

随机推荐

  1. openstack一键安装脚本(转载)

    #!/bin/sh # openstack pike 单机 一键安装 # 环境 centos 7.4.1708 x86_64 # 更多内容 http://dwz.cn/openstack # Myde ...

  2. Python之算法

    一.什么算法 算法:一个计算过程,解决问题的方法 二.时间复杂度 看代码:                                                               ...

  3. [squid] kid1| ERROR: No forward-proxy ports configured.

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. Python CRM项目六

    自定义Django Admin的action 在Django Admin中,可以通过action来自定义一些操作,其中默认的action的功能是选中多条数据来进行删除操作 我们在king_admin中 ...

  5. 原生JS实现图片轮播

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 洛谷 [P1154] 奶牛分厩

    类似筛法的思想 本题实际上就是反推hash的模数, 首先想到枚举k,但显然会超时. $a mod k==b mod k <==> k|(a-b) $ 由同余的定义可以知道 所以我们的任务就 ...

  7. 走进JavaScript——重拾函数

    创建函数 通过构造器的方式来创建函数,最后一个参数为函数体其他为形参 new Function('a','b','alert(a)') /* function anonymous(a,b) { ale ...

  8. SQL Server 文件操作

    在master数据库中,SQL Server提供系统扩展的存储过程,其中有一些存储过程的命名以xp_开头,用于处理操作系统的文件. 一,判断文件是否存在 存储过程sys.xp_fileexist 用于 ...

  9. c++项目范例

    #include<iostream> #include<string.h> #include<stdlib.h> using namespace std; clas ...

  10. Kudu存储实战笔记

    有人会问,为啥要用这个叫啥Kudu的,Kudu是啥? 就像官网所说,Kudu是一个针对Apache hadoop 平台而开发的列式存储管理器,在本菜鸟看来,它是一种介于hdfs与hbase的一种存储. ...