Я работаю в Visual Studio 2010, используя код C++. То, что я пытаюсь сделать, это изменить значение директивы препроцессора во время выполнения, не уверен, если это возможно, но я попробовал это ..Изменение значения макроса во время выполнения
somefile.h
static int mValue = 0;
#define POO = mValue;
...
#if POO 0
//define class methods
#else
//define class methods differently
}
main.cpp
main()
{
//Code calls constructor and methods allowed when POO is 0
//Code increments mValue
//Code calls constructor and methods allowed when POO is 1
}
Как можно изменить POO так, чтобы объекты класса использовали другую реализацию других методов? Или, если это невозможно, что еще один подход к этому?
Вы не можете изменить директивы препроцессора во время выполнения. Использование базового класса с различными производными классами может работать, в зависимости от вашей проблемы (что сложно сказать по тому, что вы нам показали). – Yuushi