#include <iostream>
using namespace std;
namespace MyNameSpace {
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()
{
MyNameSpace::upperbound = 100;
MyNameSpace::lowerbound = 0;
MyNameSpace::counter ob1(10);
int i;
do {
i = ob1.run();
cout << i << " ";
} while(i > MyNameSpace::lowerbound);
cout << endl;
MyNameSpace::counter ob2(20);
do {
i = ob2.run();
cout << i << " ";
} while(i > MyNameSpace::lowerbound);
cout << endl;
ob2.reset(100);
MyNameSpace::lowerbound = 90;
do {
i = ob2.run();
cout << i << " ";
} while(i > MyNameSpace::lowerbound);
return 0;
}
|