#include #include using namespace std; char *concatenate(char *str1, char *str2) { char *cat = (char *) malloc(strlen(str1) + strlen(str2)); strcpy(cat, str1); strcat(cat, str2); return cat; } class MyString { public: char *data; MyString(char *str) { data = (char *) malloc(strlen(str)); strcpy(data, str); } }; char * operator + (MyString str1, MyString str2) { char *cat = (char *) malloc(strlen(str1.data) + strlen(str2.data)); strcpy(cat, str1.data); strcat(cat, str2.data); return cat; } int main() { char *strA = concatenate("Hello", " "); char *strB = concatenate(strA, "world!"); cout << strB << endl; MyString strX("Happy"); MyString strY(" "); MyString strZ("Halloween!"); cout << strX + strY + strZ << endl; }