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