Pobieranie stałych z pliku zewnętrznego.

0

Witam, mam mały problem. Chciałbym, aby w mojej grze dane pliku zewnętrznego były wczytywane do stałych dla różnych klas. Można by było w nim ustawić np. rozdzielczość, jednak określenie wartości stałych musi być przed funkcją główną, tak aby działały we wszystkich klasach. Jak mogę to najrozsądniej rozwiązać?
Z góry dzięki za wskazówki.

0
#include <iostream>
using namespace std;

struct Reader
  {
   class RealReader
      {
       private:
       int Czas; // pola do wczytania
       public:
       RealReader(const char *FileName):Czas(666)// konstruktor inicjalizuje dane domyślne i wczytuje dane z pliku
         {
          cout<<"Podaj czas (jak podasz literki to zostanie domyslny): ";
          cin>>Czas;
          cin.clear();
          cin.sync();          
         }
       int czas()const { return Czas; } // gettery
      };
   operator RealReader *()const
     {
      static RealReader R("plik.ini");
      return &R;
     }
   RealReader *operator->()const
      {
       return (RealReader*)(*this);
      }
  };

 // tego można nie dawać, wtedy czytanie odbędzie się przy pierwszym sięgnięciu po odczytaną zmienną.
Reader::RealReader *R=Reader(); // tu odbędzie się czytanie, przed main'em, można też to przenieść do main'a (f3 odwołuje się przez ta zmienną)

void f1() { cout<<"f1: "; cout<<Reader()->czas()<<endl; }
void f2() { cout<<"f2: "; cout<<Reader()->czas()<<endl; }
void f3() { cout<<"f3: "; cout<<R->czas()<<endl; }
  
int main()
  {
   cout<<"main"<<endl;
   f1();
   f2();
   f3();
   cin.sync();
   cin.get();
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1