In ‘C’ or ‘C++’ the
string concatenation not possible by adding two string like Java but often
questions are given to do so using Operator Overloading + operator. Here is an
example to solve this problem.
Example :
#include<iostream.h>
class
String
{
private:
char *s;
int size;
public:
void getData()
{
cout<<"\n\tEnter
Size : ";
cin>>size;
cin.ignore();
s = new char [size];
cout <<"\n\tEnter
String:";
cin.getline(s, size);
}
void display()
{
cout<<s;
}
String operator +(String s2) // ‘+’ operator overloaded
{
String ts;
ts.s = new char
[size+s2.size];
for(int
i = 0; s[i]!='\0';i++)
{
ts.s[i] = s[i];
}
for(int j = 0;
s2.s[j]!='\0'; i++, j++)
{
ts.s[i] =
s2.s[j];
}
ts.s[i] = '\0';
return ts;
}
};
int main()
{
String s1, s2, s3;
s1.getData();
s2.getData();
cout<<"\n\tFirst
String : ";
s1.display();
cout<<"\n\tSecond
String : ";
s2.display();
s3 = s1 + s2; //overloading ++’
operator
cout<<"\n\tAfter
Concatenation : ";
s3.display();
return 0;
}
No comments:
Post a Comment