C++ -- why should we define the pure virtual destructor outside the class definition?
<pre><code>class Object {
public:
  ...
  virtual ~Object() = 0;
  ...
};

Object::~Object() {} // Should we always define the pure virtual destructor outside?
</code></pre>

<p>Question: Should we always define the pure virtual destructor outside the class definition?</p>

<p>In other words, it is the reason that we should not define any virtual function inline?</p>

<p>Thank you</p>
