我想知道是否存在自动注册类类型的设计模式或习语。或者更简单,我可以通过简单地扩展基类来强制调用某个类的方法吗?例如,假设我有一个基类Animal和扩展类Tiger和Dog,并且我有一个打印输出的辅助函数所有扩展Animal的类。所以我可以有类似的东西:structAnimalManager{staticstd::vectornames;staticvoidregisterAnimal(std::stringname){//ifnotalreadyregisterednames.push_back(name);}};structAnimal{virtualstd::stringname(