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 using namespace std;

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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!