Oop Assignment: 3rd Semester, Section "C"
Oop Assignment: 3rd Semester, Section "C"
class MyName
{
public:
MyName (const char *str);
~MyName ();
private:
char *emp_name;
};
MyName::~MyName ()
{
delete[]emp_name;
}
int main ()
{
MyName name ("wikistack");
MyName name1 = name; // initialie name1 from name object
return 0;
}
Here we will have issue after running the above code. Because we have not
Provide copy constructor and overloaded assignment operator in class MyName.
#include<iostream>
#include<string.h>
using namespace std;
class MyName
{
public:
MyName (const char *str);
~MyName ();
MyName (const MyName & another);
void operator = (const MyName & another);
private:
char *emp_name;
};
MyName::~MyName ()
{
delete[]emp_name;
}
MyName::MyName (const MyName & another)
{
emp_name = new char[strlen (another.emp_name) + 1];
strcpy (emp_name, another.emp_name);
}
void
MyName::operator = (const MyName & another)
{
char *temp = new char[strlen (another.emp_name) + 1];
strcpy (temp, another.emp_name);
delete[]emp_name;
emp_name = temp;
}
int main ()
{
MyName name ("wikistack");
MyName name1 = name;
return 0;
}
__________________________
__________________________
__________________________
_______________________