# C++: Overloading Derived Class Assignment

## Copying parent class members

If there is a parent (base) class, those fields must also be copied. You can accomplish this with the following cryptic statement,

        this->Parent::operator=(source);

where Parent is the name of the base class.

    //--- file Parent.h
    class Parent {...};   // declaration of base class

    //--- file Child.h
    #include "Parent.h"
    class Child : public Parent { // declaration of derived class
    public:
        Child& Child::operator=(const Child& source);
    };//end class Child

    //--- file Child.cpp
    #include "Child.h"
    Child& Child::operator=(const Child& source) {
        if (this != &source) {
            this->Parent::operator=(source);
            . . . // copy all our own fields here.
        }
        return *this;
    }//end operator=

## See Also

Overloading Assignment