构造函数和析构函数可以调用虚函数吗,为什么