working together with operator overloading and inheritance.
base and derive classes are overloading operator '=' .
Now I instantiate two objects of derive class and copy one object into other.
'=' operator for derived class gets invoked. I am expecting both base and derive class '=' should get executed.
any solution?
Please check the code snippet
Code:
#include<iostream>
using namespace std;
/*overload operator in base class and for derived class */
class base
{
public:
base& operator = (base& obj)
{
cout<<endl<<"In base = operator"<<endl;
return *this;
}
};
class derive : public base
{
public:
derive& operator = (derive& obj)
{
cout<<endl<<"In derive = operator"<<endl;
return *this;
}
};
void main()
{
derive obj1, obj2;
obj1 = obj2;
}
o/p
In derive = operator
-------------------------------------------------------------------
expected o/p
In base = operator
In derive = operator