8. Class Missing Copy Assignment Operator

z6.7.1-assign.cc
class MyClass { public: MyClass(); ~MyClass(); private: int* dataObj; ... };

int main() {
   MyClass classObj1;
   MyClass classObj2;

   classObj1.SetDataObj(9);
   classObj2 = classObj1; // classObj2 gets copy of classObj1 dataObj pointer
   cout << "classObj2: ";
   cout << classObj2.GetDataObj() << endl;
}
// at end of main the destructors are called
Constructor called.
Constructor called.
classObj2: 9
Destructor called.
Destructor called.
*** Error in `./a.out': double free or corruption (fasttop): 0x0000000001660c20 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81489)[0x7f435653e489]
Abort