Show the code:
<!-- lang: cpp -->
#includeusing namespace std;namespace CounterNameSpace {int upperbound;int lowerbound;class Counter { int count;public:Counter(int n) { if (n <= upperbound) { count = n; } else { count = upperbound; }}void reset(int n) { if (n < upperbound) { count = n; }}int run() { if (count > lowerbound) { return count--; } else { return lowerbound; }}};}int main() {CounterNameSpace::upperbound = 100;CounterNameSpace::lowerbound = 0;CounterNameSpace::Counter obj1(10);int i;do { i = obj1.run(); cout << i << ",";} while (i > CounterNameSpace::lowerbound);cout << endl;return 0;}