Здравствуйте, Erop, Вы писали:
E>2) В С++
E>вместо сложной функции с хитрыми параметрами, сделать класс, каждый объект которого эквивалентен одному вызову функции:
E>E>f_mechanism f;
E>f.SetA( 2 );
E>f.SetB( 1 );
E>f.Run();
Ну а если такая ситуация: в алгоритме принимает участие указатель на базовый класс, а много параметров появляется в потомках, то предусмотреть все setParam в базовом классе будет не возможным. Их нужно в конструкторе определять.
base *b;
switch(select){
case 1:
b = new specific_class(/*много параметров здесь*/);
// ...
}
b->work();