Skip to main content

Posts

Showing posts with the label base class pointer

Object Slicing in c++

"If b is a base class pointer and d is a derived class pointer then b=d will copy only the base class contents and remove the derived class contents.This is known as Object Slicing and should be avoided." class bc { public: int a; float b; }; class dc : public bc { public: char c; }; main() { bc Bobj; //Bobj contains int a and float b dc Dobj; //Dobj contains int a, float b and char c Bobj=Dobj; // when we assign dc class obj to a bc class obj it slices of dc portion of obj so a and b get copied into a and b of Bobj and char c does not get copied in effect Dobj got sliced }