我认为即使在C#中也无法使用...您想要的是一个要在switch语句中初始化的指针:Hero* _hero = 0; switch(hClass){ case 1: _hero = new Wizard; break; } // use _hero ... // at the end, delete it delete _hero;但是,您现在很可能需要虚拟析构函数和虚拟函数。阅读它们,它们是...