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:
        ...
    }
}
我想知道是否有更好的方法来设计它.我不知道很多"设计模式"(我认为这就是他们所谓的)所以我不知道是否有一种(明显的)更好的方法来设计它.