实现一个字符串类,可以比较和连接两个字符串
2016-04-13 20:04
465 查看
¥¥这是我写的第一个实际意义上的c++程序,很简单,但是第一次写的时候半夜坐在电脑前急哭了…不过好在这个程序让我收获了很多,也终于有点明白了c和c++的区别、明白了this的用法。也希望这个小程序能帮到一些初学c++的孩子¥¥
#include <stdio.h> #include <string.h> using namespace std; class String{ private: char *s; int len; public: String(){ this->s = new char[10000]; //this均可省去 this->len = 0; } String(char *ss){ this->len = strlen(ss); this->s = new char(strlen(ss) + 1); for(int i = 0; i < this->len; i++) s[i] = ss[i]; s[strlen(ss)] = '\0'; } String(String &ss){ s = new char(ss.len + 1); this->len = ss.len; for(int i = 0; i < this->len; i++) s[i] = ss.s[i]; s[ss.len + 1] = '\0'; } ~String(){ delete []s; s = NULL; } void cmp(char *ss) const{ int length = strlen(ss); int tab = 1; if(this->len == length){ for(int i = 0; i < length; i++){ if(ss[i] == s[i]) continue; else{ tab = 0; printf("两字符串不相等\n"); break; } } if(tab) printf("两字符串相等\n"); } else printf("两字符串不相等\n"); } void cnt(String &ss){ for(int i = 0; i < this->len; i++){ ss.s[ss.len] = s[i]; ss.len++; } } char *gets(){ return this->s; } int getlen(){ return this->len; } }; int main() { char a[100], b[100]; scanf("%s", a); scanf("%s", b); String s1(a); s1.cmp(b); String s2(b); String s3; s1.cnt(s3); s2.cnt(s3); char *p; p = s3.gets(); printf("连接好的字符串为:"); for(int i = 0; i < s3.getlen(); i++){ printf("%c ", *p); p++; } return 0; }
相关文章推荐
- NYOJ67三角形面积
- Linux Wireless架构总结
- Matlab中的一些小技巧
- 特征点检测学习(surf算法)
- python2.7升python3.2
- hibernate的主键生成策略
- 史上最全ajax(原生JS,javascript版,非jquery)详细注释!
- Java静态变量的初始化(static块的本质)
- Rabin-Karp字符串查找算法
- hdu1011Starship Troopers(树形背包)
- 【LeetCode】327. Count of Range Sum
- 解决ListView下拉刷新时导致图片闪烁问题
- lm3488升压芯片电路调试 boost
- eclipse设置的断点上有斜线
- 最长滑雪路径
- 华为2016年精英挑战赛总结
- 第七周周记
- bitmap格式分析
- hdu1908
- JSP的CSS背景样式写法