Answer Posted / p govind rao
if an object of a derived class is assigned to a base class
object,the compiler accepts it.but it copies only the base
portion of the object
#include<iostream>
using namespace std;
class base
{
public:
int i,j;
base(){i=2;j=3;}
virtual void show(){cout<<"i = "<<i<<endl<<"j = "<<j<<endl;}
};
class derived :public base
{
public :
int k;
derived(){k=4;}
void show() {
base::show();
cout<<"k = "<<k<<endl;
}
};
int main()
{
base b;
derived d;
d.show();
b=d;
b.show();
return 0;
}
OutPut is
i = 2
j = 3
k = 4
---------------
i = 2
j = 3
here b contains i and j where as d contains i,j&k.On
assignment only i and j of the d get copied into i and j of
b. k doesnot be copied. on the effect object d got sliced.
Is This Answer Correct ? | 12 Yes | 1 No |
Post New Answer View All Answers
What is abstraction in oop with example?
Whats oop mean?
What is meant by multiple inheritance?
How do you achieve polymorphism?
What is class and example?
What is purpose of inheritance?
How to use CMutex, CSemaphore in VC++ MFC
What are the advantages of polymorphism?
What are the types of abstraction?
What are the three main types of variables?
How to hide the base class functionality in Inheritance?
Why do we use class?
What is static modifier?
What is overriding vs overloading?
Why multiple inheritance is not allowed?