11ObjectSlicing
11ObjectSlicing
Object slicing occurs when a derived class object is assigned to a base class object. This
"slicing" happens because the base class object can only hold the base class part of the data,
and any additional members or functionalities of the derived class are discarded.
#include <iostream>
#include <string>
class Base {
public:
string baseData;
cout << "Base class data: " << baseData << endl;
};
public:
string derivedData;
: Base(baseData), derivedData(derivedData) {}
cout << "Base class data: " << baseData << endl;
cout << "Derived class data: " << derivedData << endl;
};
int main() {
Derived derivedObj("CustomBaseData", "CustomDerivedData");
derivedObj.display();
return 0;
#include <iostream>
#include <string>
class Base {
public:
};
public:
};
int main() {
Derived derivedObj;
return 0;
}Output:
class Base {
public:
};
public:
};
int main() {
Derived derivedObj;
return 0;
}
Output: