【发布时间】:2011-05-20 01:28:21
【问题描述】:
我目前正在编写一个具有以下多态层次结构的程序:Base: Multinumber。派生:对,复杂,有理。 Multinumber 是一个虚拟类,从不实例化。
在我的程序过程中,我经常动态管理基类,所以我需要一个析构函数。我的问题是:如何使析构函数虚拟化?现在在我的 Multinumber.h 文件中,我有这个:
virtual ~Multinumber();
在我的 Multinumber.cpp 中:
Multinumber::~Multinumber()
{
}
在我所有的派生类中我都有这个:
Rational::~Rational()
{
}
我的任何derived.h 文件中都没有任何内容。不幸的是,这不能编译。相反,我得到了这个错误:
Complex.cpp|75|error: definition of implicitly-declared 'virtual Complex::~Complex()'
我的语法有什么问题?感谢您能给我的任何帮助。
【问题讨论】:
标签: c++ inheritance polymorphism destructor