class SomeInterface {
public: virtual std::string getClassName() = 0;
        virtual SomeInterface *createInstanceByClassName(const std::string className){
                for (ClassType child: SomeInterface.children)
                        if (child::getClassName() == className)
                                return new child;
                throw ClassNotFoundException();
        }
}Реально ли сделать подобное стандартными средствами C++ без дополнительных полей? Если нет, то какие наиболее короткие и понятные способы есть для этого? Может, для подобного паттерна есть название?




