Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write the implementation (.cpp file) of the Counter class of the previous exerci

ID: 3660490 • Letter: W

Question

Write the implementation (.cpp file) of the Counter class of the previous exercise. The full specification of the class is: A data member counter of type int . An data member named counterID of type int . A static int data member named nCounters which is initialized to 0 . A constructor that takes an int argument and assigns its value to counter . It also adds one to the static variable nCounters and assigns the (new) value of nCounters to counterID . A function called increment that accepts no parameters and returns no value. increment adds one to the instance variable counter . A function called decrement that accepts no parameters and returns no value. decrement subtracts one from the counter . A function called getValue that accepts no parameters. It returns the value of the instance variable counter . A function named getCounterID that accepts no parameters and returns an int . getCounterID returns the value of the data member counterID .

Explanation / Answer

class Counter { int counter; int limit; static int nCounters; public: Counter(int cnt, int lim); void increment(); void decrement(); int getValue() const; static int getNCounters(); }; Counter::Counter(int a, int b) : counter(a), limit(b) { nCounters++; } // increment and decrement were ok. int Counter::getValue() const { return counter; } int Counter::getNCounters() { return nCounters; } int Counter::nCounters = 0;