Как лучше всего передавать методы в методы одного и того же класса

У меня есть этот класс C ++, что один большой сложный методcompute что я хотел бы передать с помощью «вычислительного ядра», метод того же класса. Я полагаю, что я бы сделал что-то вроде

class test {
int classVar_ = 42;

int compute_add(int a, int b)
{
   compute(int a, int b, this->add_())
}

int compute_mult(int a, int b)
{
   compute(int a, int b, this->mult_())
}


int compute_(int a, int b, "pass in add or multiply as f()")
{
   int c=0;
   // Some complex loops {
   c += f(a,b)
   // }
   return c;
}

int add_(int a, int b){a+b+classVar_;}
int multiply_(int a, int b){a*b+classVar_;}
...

}

но я не уверен, как мне пройтиadd или жеmultiply. An alternative to this approach would be to pass in an ENUM какой-то, чтобы указатьadd() или жеmultiply(), но я хотел избежатьswitch или жеif внутри петель.

Какова лучшая практика здесь?

Ответы на вопрос(3)

Ваш ответ на вопрос