#include using namespace std; void counter(int increment) { // int total; // does not work, just an uninitialised variable // int total = 0; // also no good, total re-zeroed every time static int total = 0; // just the trick total += increment; cout << " counter(" << increment << "): total is now " << total << "\n"; } int main() { cout << "calling counter(1)\n"; counter(1); cout << "calling counter(3)\n"; counter(3); cout << "calling counter(2)\n"; counter(2); cout << "calling counter(1)\n"; counter(1); cout << "calling counter(10)\n"; counter(10); cout << "calling counter(1)\n"; counter(1); cout << "calling counter(2)\n"; counter(2); }