Set*_*gie 5 c++ inheritance construction class-hierarchy switch-statement
我有一个容器,它包含一堆指向基类的指针,以及一个接受一些输入并返回一个类的函数,该类是基类的子类.它返回的子类取决于输入.
现在,我有一个像这样的巨型开关语句:
class Base { ... }
class A : public Base { ... }
class B : public Base { ... }
...
class Z : public Base { ... }
Base* depends(int input) {
switch (input) {
case 1:
return new A(...);
case 2:
return new B(...);
...
case 26:
return new Z(...);
default:
...
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更好的方法来设计它.我不知道很多"设计模式"(我认为这就是他们所谓的)所以我不知道是否有一种(明显的)更好的方法来设计它.
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |