Так сказать, у меня есть следующиеC++ Изменить Наследуется класса
- Класс A - Класс Main (не может изменить)
- Класс B - Базовый класс
- Класс C - Alternate базового класса
Класс А определяется как
Class A : public Class B
{};
я бы начал менять его программным образом, чтобы вместо этого было Class A : public Class C
?
Причина, заключающаяся в том, что я хочу, чтобы класс C был пронизан минималистичной версией класса B для целей модульного тестирования. Так что мне нужен способ, чтобы порождать версию класса А без изменения класса А, который затем использует методы класса С, а не класс В.
Надеюсь, это имеет смысл?
Короткий ответ: вы не можете. C++ не работает таким образом. –
Это не то, как работает система статического типа. – DeiDei
Как насчет этого. Назовите оба класса 'B', но настройте свой проект или систему сборки, чтобы убедиться, что используется один и только один из них. –