#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   // Check initial state (Root instance only)
   cout << uCalc::DefaultCount() << endl;

   // Push the current 'uc' instance onto the stack
   uc.IsDefault(true);
   cout << uCalc::DefaultCount() << endl;

   // Create a new instance and push it
   uCalc ucB;
   ucB.IsDefault(true);
   cout << uCalc::DefaultCount() << endl;

   // Create another instance and push it
   uCalc ucC;
   ucC.IsDefault(true);
   cout << uCalc::DefaultCount() << endl;

   // Clear all custom defaults, reverting to the root instance
   uCalc::DefaultClear();
   cout << uCalc::DefaultCount() << endl;
}