#include<iostream>
using namespace std;
#define MaxSize 500
class String
{
private:
char *ptr;
public:
String();
~String();
int strLen(String *str); //返回字符串長度
void SetString(String *str);//輸入字符串
void OutString(String *str);//輸出字符串
};
int main()
{
cout<<"請輸入:"<<endl;
String t;
t.SetString(&t);
cout<<endl<<"長度:"<<endl;
cout<<t.strLen(&t);
cout<<endl<<"字符串:"<<endl;
t.OutString(&t);
cout<<endl;
return 0;
}
String::String()
{
ptr=new char;
ptr = '\0';
}
String::~String()
{
free(ptr);
}
int String::strLen(String *str)
{
char *p=(char *)str->ptr;
int j=0;
while(*p!='\0')
{
p++;j++;
}
return j;
}
void String::SetString(String *str)
{
char s[MaxSize];
cin>>s;
char *p=new char [strlen(s)+1];
strcpy(p,s);
str->ptr = p;
}
void String::OutString(String *str)
{
cout<<str->ptr;
}