Example

class MyClass {
public:
MyClass(); // default constructor
~MyClass(); // destructor
private:
MyClass& operator=(const MyClass& other);// assignment operator

protected:
MyClass(const MyClass& other);    // copy constructor
};


Solution
Always define class sections in the following order: public, protected, then private..

class MyClass {
public:
MyClass(); // default constructor
~MyClass(); // destructor
protected:
MyClass(const MyClass& other);    // copy constructor
private:
MyClass& operator=(const MyClass& other);// assignment operator
};