Mystring
来源:互联网 发布:青岛数据挖掘面试 编辑:程序博客网 时间:2024/05/17 02:23
#ifndef __MYSTRING_H__#define __MYSTRING_H__#include <string.h>#include <malloc.h>class String{private:char *str;public:String(const char *str);String(const String& string);bool operator==(const String& str);String& operator=(const String& str);char& operator[](int i);char *string();~String();const char* GetChar()const;};#endif
#include "mystring.h"String::String(const char *str){int len=strlen(str);this->str=(char*)malloc(0);this->str=(char*)realloc(this->str,len);strcpy(this->str,str);}String::String(const String& string){int len=strlen(string.GetChar());this->str=(char*)malloc(0);this->str=(char*)realloc(this->str,len);strcpy(this->str,string.GetChar());}char* String::string(){return this->str;}String::~String(){free(this->str);}bool String::operator==(const String& str){int len1=strlen(this->str);int len2=strlen(str.GetChar());if(len1!=len2){return false;}for(int i=0;i<len1;++i){if(*(str.GetChar()+i)!=*(this->str+i)){return false;}}return true;}const char* String::GetChar()const{return this->str;}char& String::operator[](int i){return *(this->str+i);}String& String::operator=(const String& str){strcpy(this->str,str.GetChar());return *this;}
#include "mystring.h"#include <iostream>using namespace std;int main(void){String string("asfdfdfd");String string1("454545");String string2(string1);cout<<"string: "<<string.string()<<endl;cout<<"string1: "<<string1.string()<<endl;cout<<"string2: "<<string2.string()<<endl;cout<<"string==string1: "<<(string==string1)<<endl;cout<<"string[0]: "<<string[0]<<endl;string=string1;cout<<"string: "<<string.string()<<endl;return 0;}
运行结果
string: asfdfdfdstring1: 454545string2: 454545string==string1: 0string[0]: astring: 454545
0 0
- myString
- MyString
- Mystring
- MyString
- MyString
- mystring实现
- MyString实现
- MyString实现
- class MyString
- [数据结构]MyString
- 自定义MyString()
- MyString的实现
- SOJ.MyString Class
- MyString类实现
- c++实现mystring
- C++ 实现mystring类型
- 1000. MyString Class
- MyString类的实现
- Mysql用户密码设置修改和权限分配
- 安卓惯用实用功能代码
- Walls and Gates
- 硬盘和显卡的访问与控制(一)——《x86汇编语言:从实模式到保护模式》读书笔记01
- bzoj1477(扩欧)
- Mystring
- XMPPFramewoerk支持IPv6
- 第一行代码Android学习(十)
- 调试器工作原理之二——实现断点
- Python与Android之间Socket通信
- 寄存器名称和地址的映射分析
- zynq-7000学习笔记(六)——HLS综合FAST corner并导出IP
- Remove Duplicates from Sorted Array
- TCP和SOCKET关系