Call virtual method from base class on object of derived type
<pre><code>class Base
{
public:
    virtual void foo() const
    {
        std::cout &lt;&lt; "Base";
    }
};

class Derived : public Base
{
public:
    virtual void foo() const
    {
        std::cout &lt;&lt; "Derived";
    }
};

Derived d; // call Base::foo on this object
</code></pre>

<p>Tried casting and function pointers but I couldn't do it. Is it possible to defeat virtual mechanism (only wondering if it's possible)?</p>
