#include<iostream>
#include<string.h>
using namespace std;
class str
{
char *st;
public:
str(int len, char *s)
{
int l=strlen(s);
st= new char[l];
st=s;
}
str()
{
}
void put();
str operator +(str);
};
str str :: operator +(str s)
{ /*str abc;
abc.st=strcat(st, s.st);
return abc;*/
st=strcat(st, s.st);
return *this;
}
void str :: put()
{
cout<<"\n The string after concatenation is : \n"<<st;
}
int main()
{
char str1[30], str2[30];
cout<<"\n Enter a string \n";
cin>>str1;
cout<<"\n Enter the 2nd string \n";
cin>>str2;
int l1= strlen(str1), l2=strlen(str2);
str s2(l1,str1), s3(l2,str2), s4;
s4=s2+s3;
s4.put();
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZy5oPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIHN0ciAKewogICAgICAgIGNoYXIgKnN0OwpwdWJsaWM6CiAgICAgICAgc3RyKGludCBsZW4sIGNoYXIgKnMpCiAgICAgICAgeyAgCiAgICAgICAgICAgICAgIGludCBsPXN0cmxlbihzKTsKICAgICAgICAgICAgICAgc3Q9IG5ldyBjaGFyW2xdOwogICAgICAgICAgICAgICBzdD1zOyAKICAgICAgICB9CiAgICAgICAgc3RyKCkKICAgICAgICB7CiAKICAgICAgICB9CiAgICAgICAgdm9pZCBwdXQoKTsKICAgICAgICBzdHIgb3BlcmF0b3IgKyhzdHIpOwp9OwoKc3RyIHN0ciA6OiBvcGVyYXRvciArKHN0ciBzKSAKeyAgLypzdHIgYWJjOwphYmMuc3Q9c3RyY2F0KHN0LCBzLnN0KTsKcmV0dXJuIGFiYzsqLwogICAgICAgIHN0PXN0cmNhdChzdCwgcy5zdCk7CiAgICAgICAgcmV0dXJuICp0aGlzOwp9Cgp2b2lkIHN0ciA6OiBwdXQoKQp7CiAgY291dDw8IlxuIFRoZSBzdHJpbmcgYWZ0ZXIgY29uY2F0ZW5hdGlvbiBpcyA6IFxuIjw8c3Q7Cn0KCmludCBtYWluKCkgCnsKICAgICAgICBjaGFyIHN0cjFbMzBdLCBzdHIyWzMwXTsKICAgICAgICBjb3V0PDwiXG4gRW50ZXIgYSBzdHJpbmcgXG4iOwogICAgICAgIGNpbj4+c3RyMTsKICAgICAgICBjb3V0PDwiXG4gRW50ZXIgdGhlIDJuZCBzdHJpbmcgXG4iOwogICAgICAgIGNpbj4+c3RyMjsKICAgICAgICBpbnQgbDE9IHN0cmxlbihzdHIxKSwgbDI9c3RybGVuKHN0cjIpOwogICAgICAgIHN0ciBzMihsMSxzdHIxKSwgczMobDIsc3RyMiksIHM0OwogICAgICAgIHM0PXMyK3MzOwogICAgICAgIHM0LnB1dCgpOwogICAgICAgIHJldHVybiAwOwp9