串第一次听说,实际上就和C++封装好的string对象类似。本例题中,利用C++自实现了string类的一些功能函数,一方面回顾c++的一些知识,另一方面也加深对string对象的了解。编程过程中,为了省事,也或多或少利用了string的函数,例如size(),clear()等。
主要函数功能介绍:
Stringv1() {
length = 0; } //构造函数
Stringv1(const Stringv1 & s); //复制构造函数
Stringv1(const char *c); //将c风格字符串转string对象
Stringv1 &operator=(const Stringv1 & s); //赋值函数
void Show() const; //展示对象信息
bool ClearString(); //清除对象
bool isEmpty() const {
return (length == 0); } //判断串是否为空
int Length() const {
return length; } //返回串的长度
string SubString(int pos, int len); //返回从pos开始的后len长度的串
int Index(const string & s, const int pos); //查找pos之后的第一个与s相同的子串
int Replace(const string & s1, const string & s2); //用s2替换掉串中的s1
string StrInsert(const string & s1, int pos); //在串的pos之后插入子串s1
//这里用到了两个友元函数,目的是为了加强练习,也可以用类的公有函数代替
friend int StrCompare(const Stringv1 & s1, const Stringv1 & s2);//比较两个串是否相同
friend Stringv1 Concat(const Stringv1 & s1, const Stringv1 & s2);//将两个串连接在一起
示例输出结果:
This is a char array!
has 21 charater.
This is a char array!
has 21 charater.
String is cleared!
The two string is equal!
Substring:
is a char
Find the first substring "is" at 2
Using "at" replace is
After 2 time replace, the string is: That at a char array!
has 21 charater.
After insert a string:
That insert at a char array!
串的基本功能实现头文件:
#pragma once
#ifndef STRINGV1_H_
#define STRINGV1_H_
#include<iostream>
#include<string>
using namespace std;
class Stringv1
{
private:
string data;
int length

最低0.47元/天 解锁文章
2627

被折叠的 条评论
为什么被折叠?



