#include <iostream>
#include <cstring>
using namespace std;
// #ifndef STRING_H
// #define STRING_H
// #endif // STRING_H
class String
{
public:
// String();
String(const char *s = NULL);
char * c_str();
~String();
private:
char *_str;
};
// String::String()
// {
// _str = new char[1];
// *_str = '\0';
// }
String::String(const char *s)
{
if (s == NULL)
{
_str = new char[1];
*_str = '\0';
}
else
{
int len = strlen(s);
_str = new char[len + 1];
strcpy(_str, s);
}
}
char * String::c_str()
{
return _str;
}
String::~String()
{
delete []_str;
}
int main()
{
string s1; // char * _str = "";
string s2("abcdefg"); // char * str = "abcdefg";
cout << s1.c_str() << endl;
cout << s2.c_str() << endl;
/////////////////////////////////////////////////////
String ms1;
String ms2("China");
cout << ms1.c_str() << endl;
cout << ms2.c_str() << endl;
/////////////////////////////////////////////////////
string *ps = new string("haha");
cout << (*ps).c_str() << endl;
delete ps;
String *pms = new String("heihei");
cout << (*pms).c_str() << endl;
delete pms;
return 0;
}
网友评论