Write a program to define a class “string” using constructor initialize two string objects with given strings and write necessary functions to concatenate and display the strings.
Sep 2, 2019Source code:
//program to concatenate two strings
#include <iostream>
#include <cstring>
using namespace std;
class String{
private:
char *string_array; //string array pointer
public:
String(const char *in_str)//parameterized constructor
{
int SIZE_STRING = sizeof(in_str);
//allocating memory
string_array = new char[SIZE_STRING + 1];
// copying all the string characters
//you can copy string without using
//library functions
strcpy(string_array, in_str);
}
void concat(String sobj){
int l1, l2;
l1 = strlen(string_array);
l2 = strlen(sobj.string_array);
char *str_temp;
str_temp = new char[l1 + 1];
strcpy(str_temp, string_array);
delete [] string_array;
string_array = new char[l1 + l2 + 1];
strcpy(string_array, str_temp);
strcat(string_array, sobj.string_array);
}
void display(){
cout<<string_array<<endl;
}
~String(){
// releasing the memory with destructor
delete [] string_array;
}
};
int main(){
String s1("hello "), s2("nepal"), s3(" i am kamal");
s1.display();
s2.display();
s1.concat(s2);
s1.display();
s1.concat(s3);
s1.display();
return 0;
}
Sample Run:
hello nepal hello nepal hello nepal i am kamal