What will happen in this situation?
<p>Say I have base class A. it has method</p>

<pre><code>void foo(A* a);
</code></pre>

<p>It also has method </p>

<pre><code>void foo(B* b);
</code></pre>

<p>B inherits from A.</p>

<p>Say I now have a B instance but it is an A* ex:</p>

<pre><code>A* a = new B();
</code></pre>

<p>If I were to call</p>

<pre><code> someA.foo(a);
</code></pre>

<p>Would this call the A* implementation or B* implementation of the method?</p>

<p>I'm providing an A* to the method, but what that object actually is is a B().</p>

<p>Thanks</p>
