Answer Posted / atul shankhwar
Slicing means that the data added by a subclass are discarded when an object of the subclass is passed or returned by value or from a function expecting a base class object.
Explanation:
Consider the following class declaration:
class base
{
...
base& operator =(const base&);
base (const base&);
}
void fun( )
{
base e=m;
e=m;
}
As base copy functions don't know anything about the derived only the base part of the derived is copied. This is commonly referred to as slicing. One reason to pass objects of classes in a hierarchy is to avoid slicing. Other reasons are to preserve polymorphic behavior and to gain efficiency.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
Do class declarations end with a semicolon?
what are Operators and explain with an example?
How is computer programming useful in real life?
Do we have to use initialization list in spite of the assignment in constructors?
Explain the isa and hasa class relationships. How would you implement each?
What is the header file for setw?
Why c++ is better than c language?
Are strings mutable in c++?
Why namespace is used in c++?
What is an associative container in c++?
How to tokenize a string in c++?
What is the latest c++ standard?
program explaining feautures of c++
Write a program for Divide a number with 2 and Print the output ( NOTE: Check for divide by zero error).
When should we use container classes instead of arrays?