Answer Posted / naga
Consider two objects, A and B, which each refer to two
memory blocks xi and yi (i = 1, 2,...). Think of A and B as
strings and of xi and yi (i = 1, 2,...) as the characters
they contain.
Shallow copy
One of them is the shallow copy. In this process B is
attached to the same memory block as A. This is otherwise
known as address copy
Deep copy
An alternative is a deep copy. Here the data is actually
copied over.
Example:
class base
{
public:
int i;
base()
{
i=0;
}
base(int j)
{
i=j;
}
};
main()
{
using namespace std;
base *p1=new base(23);
base *p2;
//Shallow copy, here we are using pointers and we are
copying content of one pointer to another.so address will
get copied.
p2=p1; // address is copied
cout<<"\naddress of P1:"<<p1;
cout<<"\nvalue at p1:"<<p1->i;
cout<<"\naddress of P2:"<<p2;
cout<<"\nvalue at p2:"<<p2->i;
delete p2;
cout<<"\naddress of P1 after delete:"<<p1;
cout<<"\nvalue in P2 after delete:"<<p2->i;
//DEEP copy, here we are creating objects and we are
copying content of one object to another.So content will
get copied.
base o1(67);
base o2;
o2=o1;//contents are copied. But, the addresses
remained different
cout<<"\nvalue in o1:"<<o1.i;
cout<<"\nvalue in o2 after copy:"<<o2.i<<endl;
return 0;
}
output:
address of P1:0x00323C88
value at p1:23
address of P2:0x00323C88
value at p2:23
address of P1 after delete:0x00323C88
value in P2 after delete:-572662307
value in o1:67
value in o2 after copy:67
Is This Answer Correct ? | 18 Yes | 1 No |
Post New Answer View All Answers
Can private class be inherited?
What is polymorphism give a real life example?
Why oops is important?
Why is there no multiple inheritance?
Why polymorphism is used in oops?
Why do we use polymorphism?
What is encapsulation with real life example?
Is abstract thinking intelligence?
What are properties in oop?
When not to use object oriented programming?
What is difference between data abstraction and encapsulation?
Can a destructor be called directly?
What is oops in programming?
is there any choice in opting subjects like 4 out of 7
How many human genes are polymorphic?