What's the use of the body of a pure virtual function in c++?
<p>Except for the fact that it can be called from the derived class overridden method, the pure virtual function doesnot seem to be able to be called anywhere! What then, is the use of its body? Eg.</p>

<pre><code>class base
{
    public:
    virtual void fun()=0
    {
        cout&lt;&lt;"I have been called from derived class"&lt;&lt;endl;
    }
};
class derived:public base
{
    public:
    void fun()
    {
        cout&lt;&lt;"I am the derived class"&lt;&lt;endl;
        base::fun();

    }
};
void main()
{
    derived d;
    d.fun();
}
</code></pre>
