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 #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 /* Your solution goes here */ int main() { CarCounter frontParkingLot; CarCounter backParkingLot; int count; cin >> count; frontParkingLot.SetCarCount(count); backParkingLot = frontParkingLot; cout << "Cars counted: " << backParkingLot.GetCarCount(); return 0; } error: (i tried to type this in but gets an error from down below) CarCounter& CarCounter::operator=(const CarCounter& objToCopy) { carCount = objToCopy.carCount; return *this; } Testing carCount assigned 12 Your output Cars counted: 15 Testing carCount assigned 15 Your output Cars counted: 15 Test aborted Exited with return code -6 (SIGABRT). double free or corruption (fasttop)
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
#include <iostream>
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
/* Your solution goes here */
int main() {
CarCounter frontParkingLot;
CarCounter backParkingLot;
int count;
cin >> count;
frontParkingLot.SetCarCount(count);
backParkingLot = frontParkingLot;
cout << "Cars counted: " << backParkingLot.GetCarCount();
return 0;
}
error:
(i tried to type this in but gets an error from down below)
CarCounter& CarCounter::operator=(const CarCounter& objToCopy) {
carCount = objToCopy.carCount;
return *this;
}
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 4 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)