2
我有一个接口类,但我希望所有的派生类来实现虚拟析构函数:正确放置在默认的纯虚析构函数C++ 11
// Interface.h
class Interface {
virtual ~Interface() = 0;
};
Interface::~Interface() = default;
的问题是,在这种情况下,我有一个链接器错误,因为重复的符号。
我可以将定义放在.cpp
文件中,但我想知道是否有更优雅的解决方案?
也许'inline Interface ::〜Interface()= default;'? –
函数(析构函数)不能抽象,并且同时具有实现(默认)。 –
@AndrewKashpur,是的它可以:http://stackoverflow.com/questions/37777606/c11-interface-pure-virtual-destructor – Alex