64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class MyString
{
public:
MyString(const char *str);
~MyString();
friend ostream& operator<<(ostream& os,const MyString& obj);
private:
char *m_data;
int m_nLen;
};
MyString::MyString(const char *str){
m_nLen = strlen(str);
m_data = new char(m_nLen+1);
for (unsigned short i=0;i<m_nLen;i++)
m_data[i]=str[i];
m_data[m_nLen]=0;
}
MyString::~MyString(){
delete[] m_data;
m_data = NULL;
m_nLen = 0;
}
ostream& operator<<(ostream& os,const MyString& obj){
for (unsigned short i = 0; i<obj.m_nLen; i++)
os << obj.m_data[i];
return os;
}
int main(void)
{
MyString str1("hello world!");
cout << str1 << endl;
return 0;
}