devxlogo

Calling the Operator =

Calling the Operator =

Question:
How can I call the operator= of the base class from the operator=in the derived class?

The data member in the base class is a private data member. I want to be able to use operator = in the derived class and call the operator = in the base class

Answer:
I am assuming that the copy assignment operator in the base class iseither public or protected so that you can use it from the derived class.Given that assumption, here is a code snippet that does the exact same thing.

class Base{protected:	const Base &operator = (const Base &rhs)	{		data = rhs.data;		return *this;	}private:	int data;};class Derived  : public Base{public:	const Derived &operator =(const Derived &rhs)	{		// call base classes assignment first 		Base::operator=(rhs);		data = rhs.data;		return *this;	}private:	int data;};

devx-admin

Share the Post: