1.虚函数的执行依赖于虚函数表,而虚函数表的初始化是在构造函数中进行的,若构造函数为虚函数,此时虚函数表还没有初始化成功,这就导致构造函数无法执行,形成循环依赖。 2.生成一个对象需要这个对应的类型,而虚函数是在运行时确认类型的。