You are on page 1of 4

C++ programming Date : 13/10/23

Q. Constructor Overloading
#include <iostream>
#include <cstring>
using namespace std;
class String
{char* st;
public:
String(const char* s){
st= new char[strlen(s)+1];
int i=0;
while (s[i]!='\0'){
st[i]=s[i];
i++;}
st[i]='\0';
}
String(const String& s){
st= new char[strlen(s.st)+1];
int i=0;
while(s.st[i]!='\0'){
st[i]=s.st[i];
i++;
}
st[i]='\0';
}
String(){
delete[]st;
}
void display()
{
cout<<st<<endl;
}
};
int main(){
char a[17];
cout<<"enter string";
cin>>a;
String s1(a);
String s2=s1;
s1.display();
s2.display();
}
OUTPUT:

Q. Concatenate String
#include<iostream>
#include<cstring>
using namespace std;
class Stapler {
char*st;
int l;
public:
Stapler(){
l=0;
st=new char[l+1];
st[0]='\0';

}
Stapler(const char* s){
l=strlen(s);
st=new char[l+1];
for(int i=0; i<l; i++)
st[i]=s[i];
}
Stapler join(Stapler& s2){
Stapler s3;
s3.l=l+s2.l;
s3.st=new char[s3.l+1];
int i=0;
for(i=0;i<l;i++)
{
s3.st[i]=st[i];
}
for(int j=0;j<s2.l;j++)
{
s3.st[i+j]=s2.st[j];
}
s3.st[s3.l]='\0';
return s3;
}
void display()
{
cout<< st << endl;
}
};
int main(){
char a[77],b[77];
cout<<"enter first string :";
cin>>a;
cout<<"enter second string :";
cin>>b;
Stapler s1(a);
Stapler s2(b);
Stapler s3=s1.join(s2);
s3.display();
}
OUTPUT:

You might also like