相关疑难解决方法(0)

何时使用虚拟析构函数?

我对大多数OO理论有了深刻的理解,但让我困惑的一件事是虚拟析构函数.

我认为无论什么以及链中的每个对象,析构函数总是会被调用.

你什么时候打算让它们成为虚拟的?为什么?

c++ polymorphism shared-ptr virtual-destructor

1420
推荐指数
13
解决办法
66万
查看次数

纯抽象基类上的虚拟析构函数

我有

struct IMyInterface
{
   virtual method1() = 0;
   virtual method2() = 0;
};
Run Code Online (Sandbox Code Playgroud)

海湾合作委员会坚持认为我有

struct IMyInterface
{
   virtual method1() = 0;
   virtual method2() = 0;
   virtual ~IMyInterface(){};
};
Run Code Online (Sandbox Code Playgroud)

我不明白为什么.纯接口就是接口(duh).析构函数是接口的具体实现者的内部实现细节的一部分; 它不构成界面的一部分.我理解整个切片问题(或者至少我认为我这样做)

所以我的问题是 - GCC是否有权坚持它,如果是这样,为什么呢?

c++ virtual-destructor

10
推荐指数
1
解决办法
5806
查看次数