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
program for insertion ,deletion,sorting in double link list
What is the types of inheritance?
Why polymorphism is used in oops?
Why do we use oop?
any one please tell me the purpose of operator overloading
Are polymorphisms mutations?
Why is static class not inherited?
What are benefits of oop?
What is abstraction in oops?
What is destructor example?
Why is object oriented programming so hard?
Can we create object of interface?
Can we create object of abstract class?
What is the full form of oops?
What is the point of polymorphism?