C++字符串类的设计与实现

来源:百度知道 编辑:UC知道 时间:2024/07/02 04:12:35
进行字符串类的设计,具体要求如下:
(1) 使用堆分配存储表示实现字符串的存储;
(2) 实现串赋值操作StrAssign(&T, chars);
(3) 实现串比较操作StrCompare(S,T);
(4) 实现求串长操作StrLength(S);
(5) 实现串连接操作Concat(&T,S1,S2)
(6) 实现求子串操作SubString(&Sub,S,pos,len)
(7) 实现清空子串操作ClearString(&S);
(8) 将上述功能作为类的成员函数实现,编写主函数测试上述功能。
程序运行正确 追加30分

给你一个半吊子程序吧,对你有帮助就行了,做完就没意思了,^_^
#include<iostream.h>
#include <string.h>
#include <stdio.h>

class MyString
{
public:
MyString():m_pData(NULL), m_iLen(0){}
~MyString()
{
if (m_pData)
{
delete m_pData;
}
}
char* GetStr() const {return m_pData;}
MyString& operator = ( char* str)
{
int iLen = strlen(str);
m_pData = new char[iLen+1];
strncpy( m_pData, str, iLen);
m_pData[iLen] = '\0';
m_iLen = iLen;
return *this;
}
bool operator < (const MyString& other)
{
return strcmp( m_pData, other.GetStr()) < 0 ? true: false;
}
bool operator > (const MyString& other)
{
return strcmp( m_pData, other.GetStr()) > 0 ? true: false;
}
int