将虚函数改为纯虚函数，避免编译错误