64,648
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
class CString
{
public:
CString();
void Set (char *zhifu);
void print ();
int GetLength ();
void Reverse ();//可通过成员函数Reverse将存储的字符串倒序后重新存储。要求 不能用已有的倒序函数,必须是自己定的
char *String ();
~CString();
private:
char *zhifu;
int len;
};
CString::CString()
{
zhifu=new char[2];
zhifu[0]='\0';
}
void CString::Set(char *zhifu1)
{
delete []zhifu;
len=strlen(zhifu1);
zhifu=new char[len+1];
strcpy(zhifu,zhifu1);
zhifu[len]='\0';
}
void CString::print()
{
cout <<zhifu <<endl;
}
int CString::GetLength()
{
int x;
x=strlen(zhifu)+1;
return x;
}
void CString::Reverse()
{
char a;
int length=strlen(zhifu);
for(int i=0;i<length/2;i++)
{
a=zhifu[length-i-1];
zhifu[length-i-1]=zhifu[i];
zhifu[i]=a;
}
}
char* CString::String()
{
return zhifu;
}
CString::~CString()
{
delete []zhifu;
}
void main ()
{
CString str;
str.Set("asdfdf");
str.print();
str.Reverse();
str.print();
}