which virtual re-declarations of the Derived class are correct?
<pre><code>A. Base* Base::copy(Base*); 
   Base *Derived::copy(Derived*);

B. Base* Base::copy(Base*);
   Derived *Derived::copy(Base*);

C. ostream&amp; Base::print(int,ostream&amp;=cout);
   ostream&amp; Derived::print(int,ostream&amp;);

D. void Base::eval() const;
   void Derived::eval();
</code></pre>

<p>It seems like the correct answer is 'C', but I'm not really sure why. Do anyone know the reason?</p>

<p>EDIT:</p>

<p>That is, which has implemented Polymorphism correctly?</p>
