假設我們有下面的代碼:我應該在派生類中顯式聲明析構函數爲覆蓋嗎?
class ISampleInterface
{
public:
virtual ~ISampleInterface() {} ;
virtual void Method1() = 0;
virtual void Method2() = 0;
};
class SampleClass : public ISampleInterface
{
public:
SampleClass() { };
~SampleClass() override { };
void Method1() { };
void Method2() { };
};
int main()
{
ISampleInterface *pObject = (ISampleInterface*)new SampleClass();
delete pObject;
return 0;
}
是更好明確聲明〜SampleClass()爲覆蓋或不關心?
P.S.請注意重寫,而不關心析構函數本身的實現。它可以被定義,我只是在這裏舉例來明確我的問題。
感謝您的意見,但它實際上不是答案。 – metal4people