在当前项目中的细微差别抽象类,我班命名为BlahManager
和类命名BlahController
,这样的定义:与实施者
class BlahController
{
public:
void doSomething(int x, float y){
// do the work
}
void doOtherThing(char a, char* b, int c){
// do the work
}
}
class BlahManager
{
public:
BlahController m_controllers[5];
void doSomething(int blahIndex, int x, float y){
m_controllers[blahIndex].doSomething(x,y);
}
void doOtherThing(int blahIndex, char a, char* b, int c){
m_controllers[blahIndex].doOtherThing(a,b,c);
}
}
是他们无论如何使抽象类定义的功能doSomething
和doOtherthing
只一次,并使班级经理和控制器执行它?
我想这样做强制管理器和控制器之间的函数名称/参数的相似性。
是否有一个特别的原因,你为什么需要包装'BlahController'方法,而不是像'BlahController&GetController(size_t blahIndex)'(甚至是'operator []''如果合适的话)暴露控制器? –