【发布时间】:2017-07-19 04:29:32
【问题描述】:
我有一个有很多参数的函数。 (4-7个参数)
为简单起见,这是一个例子:-
class B{
friend class C;
int f(int param1,float param2, structA a, structB b){
//... some code ...
}
//.... other functions ....
};
有时,我想将它封装在另一个(更公开的)具有相同签名的函数下:-
class C{
B* b;
public: int g(int param1,float param2, structA a, structB b){
return b->f(param1,param2,a,b);
}
//.... other functions ....
};
在我看来,上面的代码是:-
- 乏味
- 导致一些可维护性问题
- 容易出现人为错误
是否有任何 C++ 技术/魔术/设计模式来帮助它?
在实际情况中,组合比继承更适合一点的情况大多发生在边缘情况下。
我觉得<...> 可能会解决我的问题,但它需要我想避免的模板。
【问题讨论】: