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