Code:class MyClass { private: unsigned long len; unsigned long *data; public: // Constructor // Overloaded Operators MyClass & operator=(const MyClass &); MyClass & operator[](unsigned long i); char * operator[](unsigned long i) const; bool operator==(const MyClass &other) const; }; I am trying to implement the [] and == overloading. But am getting seg fault. char *MyClass:: operator[] (unsigned long i) const { return (data[i]); } bool MyClass: operator==(const MyClass &other) const { for ( i =0; i< len ; i++) { if ( this->operator[](i) == other.operator[] (i)) set true; else { set false; break;} } return true or false; }