64,282
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class MyString
{
public:
int Getlength();
MyString();
MyString(char* str);
MyString(MyString &another);
MyString operator+( const MyString &another);
//MyString& operator=(const MyString& another);
//bool operator==(const MyString& another)const;
//char& operator[](int pos);
//operator char*();
//friend ostream& operator <<(ostream& o,MyString& p);
protected:
char* m_data;
int length;
};
int MyString::Getlength()
{
return length;
}
MyString::MyString()
{
m_data=new char[1];
m_data[0]='\0';
length=0;
}
MyString::MyString(char* str)
{
length=strlen(str);
m_data=new char[length+1];
int i;
for(i=0;i<length;i++)
{
m_data[i]=str[i];
}
m_data[i]='\0';
}
MyString::MyString(MyString &another)
{
length=another.Getlength();
m_data=new char[length+1];
int i;
for(i=0;i<=length;i++)
{
m_data[i]=another.m_data[i];
}
}
MyString MyString::operator+(const MyString &another)
{
int t=another.length+length;
MyString s;
s.m_data=new char[t+1];
for(int i=0;i<length;++i)
s.m_data[i]=m_data[i];
for(int i=length;i<=another.length ;++i)
s.m_data[i]=another.m_data[i];
return s;
}
int main()
{
MyString("hehe");
return 0;
}