Ответ - нет. Вы можете реализовать только один интерфейс обратного вызова в C ++, и для этого есть несколько веских причин. Механизм обратного вызова основан на том факте, что существует тип Java, который реализует интерфейс обратного вызова. Этот тип Java обладает всеми знаниями, чтобы делегировать вызовы обратного вызова объекту C ++, который поддерживается внутренне как указатель.
Если бы вы реализовали несколько интерфейсов обратного вызова в C ++, вы бы агрегировали несколько типов реализации Java в C ++. Каждый тип знает только, как обрабатывать свои собственные методы обратного вызова, но не знает, как обрабатывать методы обратного вызова других агрегированных типов.