63,579
社区成员




class String
{
char* m_x;
public:
String(char* x){
m_x = new char[strlen(x) + 1];
strcpy(m_x, x);
}
~String(){
delete m_x;
m_x = NULL;
}
String(const String& s){
m_x = new char[strlen(s.m_x) + 1];
strcpy(m_x, s.m_x);
}
String & operator = (const String &s){
if(this == &s)
return *this;
delete m_x;
m_x = new char[strlen(s.m_x) + 1];
strcpy(m_x, s.m_x);
return *this;
}
friend String operator+(const String& s2,const String& s3);
friend ostream& operator <<(ostream& o,const String& s1);
};
String operator+(const String& s2,const String& s3)
{
char *p = new char[strlen(s2.m_x) + strlen(s3.m_x) + 1] ;
strcpy(p, s2.m_x);
strcat(p, s3.m_x);
String temp(p);
delete p;
return temp;
}
ostream& operator <<(ostream& o,const String& s)
{
o <<s.m_x;
return o;
}
int main()
{
String string1("abc"), string2("zhu"), string3("loiu");
string1 = string2 + string3;
cout << string1 << endl;
}
#include <iostream>
using namespace std;
#include <string>
class String
{
public:
char* m_x;
String(char* x){
m_x = new char[strlen(x)];
strcpy(m_x, x);
}
String(const String& s){}
friend String operator+(const String& s2,const String& s3);
friend ostream& operator <<(ostream& o,const String& s1);
};
String operator+(const String& s2,const String& s3)
{
char* m_x = strcat(s2.m_x,s3.m_x);
return String(m_x);
}
ostream& operator <<(ostream& o,const String& s)
{
o <<s.m_x;
return o;
}
int main()
{
String string1("abc"), string2("efg"), string3("hij");
string1 = string2 + string3;
cout << string1;
system("Pause");
}