Я работаю над игрой, написанной на C ++, и я хотел бы сделать возможным изменение языка во время выполнения. В настоящее время язык выбирается во время компиляции путем включения файла заголовка (в котором есть определения языка), например:
#include "lan_eng.h"
Таким образом, игра не позволяет изменять язык после компиляции клиента.У меня вопрос: есть ли способ условно включать файлы во время выполнения? Я новичок в C ++, поэтому сначала я подумал, что могу сделать что-то вроде этого:
#define DEF_LANGUAGE_ENG
//#define DEF_LANGUAGE_DEN
#ifdef DEF_LANGUAGE_ENG
#include "lan_eng.h"
#endif
#ifdef DEF_LANGUAGE_DEN
#include "lan_den.h"
#endif
Конечно, это упрощает поддержку, но проблема в том, что я считаю, что это работает только во время компиляции. Я хотел бы иметь возможность сохранить выбранный язык в переменной (которая изменяется во время выполнения), а затем использовать эту переменную, чтобы выбрать, какой файл заголовка включить. Есть ли способ сделать это с помощью файлов заголовков, или мне придется создать класс?
Надеюсь, это не глупый вопрос; мои поиски не дали мне тех результатов, на которые я надеялся.
Заранее спасибо!