自己写一个string类
来源:互联网 发布:新疆大学网络教学平台 编辑:程序博客网 时间:2024/05/18 00:54
头文件:
#ifndef _STRINGS_#define _STRINGS_#include <iostream>using namespace std;class Strings{friend ostream& operator<<(ostream& os, const Strings& s);public:Strings();Strings(char *s);Strings(const Strings &s);Strings& operator = (const Strings& s);Strings& operator + (const Strings& s);Strings& operator + (const char *s);~Strings(){if(str != NULL)delete [] str;cout<<"~Strings() is called"<<endl;}void display();private:char *str;};#endif源文件:
#include "strings.h"#include <cstring>#include <iostream>using namespace std;ostream& operator<<(ostream& os, const Strings& s){cout<<s.str;return os;}Strings::Strings(){str = new char('A');cout<<"Strings (char *s) is called"<<endl;}Strings::Strings(char *s){str = new char[strlen(s)+1];if (str){strcpy(str, s);}cout<<"Strings(char *s) is called"<<endl;}Strings::Strings(const Strings &s){str = new char[strlen(s.str)+1];if(str){strcpy(str, s.str);}cout<<"Strings(const Strings &s) is called"<<endl;}Strings& Strings::operator =(const Strings &s){if(this != &s){if (str != NULL){delete [] str; //防止内存泄露}str = new char[strlen(s.str)+1];strcpy(str, s.str);cout<<"Strings(const Strings &s) is called"<<endl;}return *this;}Strings& Strings::operator +(const Strings& s){char *temp;temp = new char[strlen(str)+strlen(s.str)+1];strcpy(temp, str);delete [] str;strcat(temp, s.str);str = temp;return *this;}Strings& Strings::operator + (const char *s){char *temp;temp = new char[strlen(str)+strlen(s)+1];strcpy(temp, str);delete [] str;strcat(temp, s);str = temp;return *this;}void Strings::display() {char *p = str;while (*p != '\0'){cout<<*p;p++;}cout<<endl;cout<<"display is called"<<endl;}
0 0
- 自己写一个string类
- 自己写一个java.lang.String
- 自己写一个简易的string类型
- 自己写一个类
- 自己写的 string 类
- 自己写的String类
- 自己实现一个string类
- 自己实现一个string类
- 自己实现一个String类
- 自己写一个字符串类
- C++写一个String类
- 写一个简单String类
- java能不能自己写一个类叫java.lang.System/String正确答案
- 2.1 :java能不能自己写一个类叫java.lang.System/String正确答案
- java能不能自己写一个类叫java.lang.System/String正确答案
- java能不能自己写一个类叫java.lang.System/String正确答案
- java能不能自己写一个类叫java.lang.System/String?
- 自己为string写的一个Format函数
- 使用Redis bitmaps进行快速、简单、实时统计
- cocos2d-x 返回键 和菜单的使用
- 输入10个数字,然后逆序输出
- V4L2 pixel format
- 我是如何从拥有100件东西到一无所有的
- 自己写一个string类
- 欧拉定理——小于N的互质数的个数
- H264学习过程总结1H264初步
- 【每日一C之三】struct字节对齐方式
- 保留整数
- 设计模式-单例模式
- Git基本命令操作实例
- Android使用TableLayout之固定表头(标题栏)
- 武汉JAVA/android培训最优选择--传智播客武汉分校!