Question: C++ Write a copy assignment operator for CarCounter that assigns objToCopy.carCount to the new objects's carCount, then returns *this. Sample output for the given program:
C++
Write a copy assignment operator for CarCounter that assigns objToCopy.carCount to the new objects's carCount, then returns *this. Sample output for the given program:
Cars counted: 12
(the code below works if there are 12 and 15 cars. But there is third test I dont understand = all I got was this message: "Exited with return code -6 (SIGABRT). double free or corruption (fasttop)"
thanks for the help
---------------------------------
#include
class CarCounter { public: CarCounter(); ~CarCounter(); CarCounter& operator=(const CarCounter& objToCopy); void SetCarCount(const int setVal) { *carCount = setVal; } int GetCarCount() const { return *carCount; } private: int* carCount; };
CarCounter::CarCounter() { carCount = new int; *carCount = 0; }
CarCounter::~CarCounter() { delete carCount; }
// FIXME write copy assignment operator
CarCounter& CarCounter::operator=(const CarCounter& objToCopy) { if(this != &objToCopy) carCount = objToCopy.carCount;
return *this; }
int main() { CarCounter frontParkingLot; CarCounter backParkingLot; int count;
cin >> count;
frontParkingLot.SetCarCount(count); backParkingLot = frontParkingLot;
cout << "Cars counted: " << backParkingLot.GetCarCount();
return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
