Это невозможно.
На данный момент:
pRoot->Evaluate();
Компилятор уже знает, что будет вызывать Node::Evaluate
, потому что он не виртуален.Вы сказали, что не можете редактировать эту реализацию, поэтому теперь вы знаете, что единственный путь - изменить реализацию Node::Evaluate
.
, что, как вы сказали, вы также не можете сделать.Вот и все, вы не можете.
Я бы порекомендовал вам прекратить биться вокруг куста и задать реальный вопрос.Скажите: «Это библиотека, которую я использую, это то, как я ее использую, вот что происходит, но вот что я хочу сделать. Как?»Или даже расширить область действия до «Вот проблема, которую я решаю, и решить ее ...», чтобы разрешить совершенно разные подходы.
Но задавать эти «загадочные» вопросы с плохо определенными параметрами и целямиглупо.Так что не надо.