#include <iostream>
using namespace std;
class STR
{
private:
char s[50];
public:
STR(char p[50]) { strcpy(s, p); }
void print() { cout << s << endl; }
friend STR& operator+=(STR& str1, STR str2);
};
STR& operator+=(STR& str1, STR str2)
{
return(STR(strcat(str1.s, str2.s)));
}
int main()
{
STR s1("Hello "), s2("World!");
s1 += s2;
s1.print();
system("pause");
return 0;
}
或者
#include <iostream>
using namespace std;
class STR
{
private:
char* s;
public:
STR(char * p) { s = new char[50]; strcpy(s, p); }
STR(STR& s2) { s = s2.s; }
void print() { cout << s << endl; }
friend STR& operator+=(STR str1, STR str2);
};
STR& operator+=(STR str1, STR str2)
{
return(STR(strcat(str1.s, str2.s)));
}
int main()
{
STR s1("Hello "), s2("World!");
s1 += s2;
s1.print();
system("pause");
return 0;
}
又或者
#include <iostream>
using namespace std;
class STR
{
private:
char s[50];
public:
STR(char p[50]) { strcpy(s, p); }
void print() { cout << s << endl; }
friend STR& operator+=(STR str1, STR str2);
};
STR& operator+=(STR str1, STR str2)
{
return(STR(strcat(str1.s, str2.s)));
}
int main()
{
STR s1("Hello "), s2("World!");
s1 = s1 += s2;
s1.print();
system("pause");
return 0;
}
#include <iostream>
using namespace std;
class STR
{
private:
char s[50];
public:
STR(char p[50]) { strcpy(s, p); }
void print() { cout << s << endl; }
STR& operator+=(STR str2)
{
return(STR(strcat(s, str2.s)));
}
};
int main()
{
STR s1("Hello "), s2("World!");
s1 += s2;
s1.print();
system("pause");
return 0;
}
办法很多很多的