You are on page 1of 2

#include<iostream.h> #include<string.

h> using namespace std; class ShallowCopy { private: char*name; public: ShallowCopy(char*tempname) { cout<<\n\nShallowCopy param ctor called\n; int length = strlen(tempname); name = new char(length); strncpy(name,tempname,length); } void display() { cout<<Name : <<name<<\n; } ~ShallowCopy() { cout<<ShallowCopy dtor called\n; delete name; name = 0; } }; int main() { ShallowCopy object_1(Smith); cout<<Calling ShallowCopy display for object_1\n; object_1.display(); { cout<<\n Creating a new object_2 from an existing object_1\n;

ShallowCopy object_2(object_1); cout<<Calling ShallowCopy display for object_2\n; object_2.display(); }//object_2 dtor called cout<<\n Calling ShallowCopy display again for object_1\n; object_1.display(); return 0; }

You might also like