У меня есть две версии одного и того же класса в двух разных файлах (A.cpp, Ah, B.cpp, Bh), во всех файлах класс имеет одно и то же имя, но отличается внутренней реализацией.
Моя идеяэто переключиться с одной версии на другую, просто изменив имя файла .h в #include, поэтому мне не нужно было ничего менять в коде (оба метода версии имеют одинаковую подпись и одинаковые свойства)
Ah и Bh никогда не включаются одновременно.
Проблема в том, что независимо от того, какой файл включения я использую всегда, выполняется версия.Я знаю, что, когда я включаю Bh, по крайней мере, он компилируется (с помощью некоторой ошибки кода они отображаются во время компиляции)
Можно ли это сделать?или это нарушает некоторые правила C ++?Я думаю, что это не должно нарушать Одно Правило Определения, потому что я не использую А и В одновременно.