C ++ Создание абстрактного класса, который использует структуры

Поэтому я работал над модификацией большого класса в C ++, и теперь у меня появилась задача сделать его абстрактным, чтобы можно было легко переключаться между старой версией и моим измененным классом. Обе версии должны остаться, но сейчас как-то так class c1 : public c & class c2 : public c,
Проблема в том, что это действительно большой класс с большим количеством функций, которые используют несколько структур. Это выглядит примерно так.

struct1{
int i1, i2;
}
struct2{
string s;
float f;
}
class c{
void f1(struct1 s, float d);
void f2(std::vector<int> &v1);
}

И модифицированный:

struct1{
float i1, i2;
};
struct2{
string s;
double f;
string s2;
};
class c{
void f1(struct1 s, float d);
void f2(std::vector<float> &v1);

}

Таким образом, изменяется не только реализация функции, но и структура этих структур и тип параметров в некоторых контейнерах. У меня вопрос какой (с точки зрения чистоты & хорошо написанный код) я мог сделать, чтобы сделать class c Аннотация? Как я могу переопределить эти структуры, чтобы быть разными? Скрыть переменные из базовых структур переменными разных типов? Внутри f1 & f2 — прямые операции над членами struct1 & struct2, как
if(struct1.i1 < someInt) doSomething(); и в модифицированном классе
if(struct1.i1 <someFloat) doSomethingElse();,
Другая проблема — это контейнеры с разными параметрами в качестве аргументов функций. Моя идея состоит в том, чтобы превратить эти контейнеры в структуры / классы, которые затем могут быть реализованы по-другому, или превратить эти параметры в структуры, например std::vector<struct3> &v и затем struct3 также может быть реализована различными способами в зависимости от того, что необходимо.
Спасибо за все ответы!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]