У меня есть класс с конструктором по умолчанию, а также с конструктором, отличным от стандартного.
Код: Выделить всё
struct A {
A() {}
A(int x) {}
A& operator+=(const A& other);
std::array data;
};
Теперь, с учетом нового требования, у меня есть добавление обязательного аргумента ко всем конструкторам класса A.
например. класс A теперь будет выглядеть так:
Код: Выделить всё
struct A {
A(B *b) { size = b->getSize(); data = new int[size];}
A(B *b, int x) { size = b->getSize(); data = new int[size]; }
int *data;
};
Есть ли какой-нибудь трюк/шаблон C++, который может помочь мне беспрепятственно (или с минимальными изменениями) распространить это изменение на клиентский код?
Я пытаюсь придумать решение, но не могу его придумать.
Буду очень признателен за любые подсказки.
Источник: https://stackoverflow.com/questions/781 ... t-codebase
Мобильная версия