У меня есть два метода: f(vector<int>& x, ....) and g(DBConn& x, ....)
где параметры (....) идентичны.C++ refactor common code with one different statement
Код внутри этих двух методов полностью идентичны для одной инструкции где мы разные действия в зависимости от типа х, за исключением:
in f(): we do x.push_back(i)
in g(): we do x.DeleteRow(i)
Что самый простой способ извлечь общий код в один метод и все же имеют два разных утверждения?
Я подумываю иметь шаблонный функтор, который перегружает operator() (int a), но это кажется излишним.
Может код когда-либо эволюционируют по-разному для двоих? Если это так, оставьте их такими, какими они похожи, поскольку их сходство просто случайно. – JRL