#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
class mystring
{
char* p;
public:
mystring(const char* str)
{
p = (char*)malloc(20);
if(p)strcpy(p,str);
}
void copy(const mystring &other)
{
strcpy(p,other.p);
}
void copy(const char* str)
{
strcpy(p,str);
}
void append(const mystring &other)
{
strcat(p,other.p);
}
void append(const char* str)
{
strcat(p,str);
}
bool compare(const char* str)
{
return strcmp(p,str) == 0;
}
bool compare(const mystring &other)
{
return strcmp(p,other.p) == 0;
}
void show()
{
cout << "p=" <<p<<endl;
}
~mystring()
{
free(p);
}
};
int main(int argc, const char *argv[])
{
mystring str = "hello";
str.show();
str.copy("world");
str.show();
mystring ptr = "world";
str.copy(ptr);
str.show();
str.append("world");
str.show();
str.append(ptr);
str.show();
if(str.compare("world"))
{
cout << "不相等"<<endl;
}
else
{
cout << "相等"<<endl;
}
if(str.compare(ptr))
{
cout << "不相等"<<endl;
}
else
{
cout << "相等"<<endl;
}
return 0;
}
