rendered paste body#include <iostream>#include <cctype>using namespace std;class CCounter {private: int f_MaxValue; int f_Counter; bool f_OverflowFlag; bool overflow() { return f_OverflowFlag; } void increment(int inc) { int newCounter = f_Counter + inc; // if smaller - int limits overflow if(newCounter < f_Counter || // if MaxValue is not -1, check for its overflow (f_MaxValue != -1 && newCounter > f_MaxValue)) { f_OverflowFlag = true; newCounter = newCounter - f_MaxValue; } f_Counter = newCounter; }public: CCounter(int max) : f_MaxValue(max), f_Counter(0), f_OverflowFlag(false) {} CCounter() : f_MaxValue(-1), f_Counter(0), f_OverflowFlag(false) // no max value {} ~CCounter() { } void reset() { f_Counter = 0; f_OverflowFlag = false; } void incrcents() { increment(1); } void incrdimes() { increment(10); } void incrdollars() { increment(100); } void incrtendollars() { increment(1000); } void reportoverflow() { if(overflow()) cout << "Overflow" << endl; else cout << "No Overflow" << endl; } void currentamount() { cout << f_Counter/100 << " dollars and " << f_Counter%100 << " cents. " << endl; }};int main(){ CCounter asdf; asdf.incrcents(); asdf.incrdimes(); asdf.incrdollars(); asdf.incrtendollars(); return 0;}//end main/*int main(){ counter asdf; asdf.incpennies(); asdf.incdimes(); asdf.print(); return 0;}//end mainclass counter{ public: void incpennies(); void intdimes(); void intdollars(); void inttendollars(); void print(); private: float count;}counter::counter(){ count=0;}void counter::incpennies(){ count+=.01;}void counter::incdimes(){ count+=.10;}void counter::incdollars(){ count+=1.00;}void counter::inctendollars(){ counter+=10.00;}//do this for all and change the valuevoid counter::print(){ cout << count << endl;}*//*class counter{private: int cents; int dimes; int dollars; int tendollars;public: void incrcents(); void incrdimes(); void incrdollars(); void incrtendollars(); void initializations();};*/