

<pre class="cpp">
namespace stlplus
{

  class persistent
  {
  public:
    virtual void dump(dump_context&amp;) const = 0;
    virtual void restore(restore_context&amp;) = 0;
    virtual persistent* clone(void) const = 0;
  };

}
</pre>

<p>Using the trivial class from the previous section; to make that class
persistent, you derive it from the <code>persistent</code> interface:</p>

<pre class="cpp">
class base<strong> : public persistent</strong>
{
  int m_value;
public:
  base(int value = 0) : m_value(