天天看点

c++中基类和子类的成员变量同名,成员函数也同名

子类和基类中的成员变量名相同

<code>#include &lt;iostream&gt;</code>

<code>using</code> <code>namespace</code> <code>std;</code>

<code>class</code> <code>A{</code>

<code>public</code><code>:</code>

<code>    </code><code>int</code> <code>m_data = 10;</code>

<code>};</code>

<code>class</code> <code>B:</code><code>public</code> <code>A{</code>

<code>    </code><code>int</code> <code>m_data =100;</code>

<code>class</code> <code>C:</code><code>public</code> <code>B{</code>

<code>int</code> <code>main(</code><code>void</code><code>){</code>

<code>    </code><code>C c;</code>

<code>    </code><code>cout &lt;&lt; c.m_data;</code><code>//100而不是10</code>

<code>    </code><code>B b;</code>

<code>    </code><code>cout &lt;&lt; b.m_data;</code><code>//100</code>

<code>    </code><code>cout &lt;&lt; b.A::m_data;</code><code>//10</code>

<code>    </code><code>cout &lt;&lt; b.B::A::m_data;</code><code>//10</code>

<code>    </code><code>return</code> <code>0;</code>

<code>}</code>

<a href="http://s1.51cto.com/wyfs02/M01/89/9C/wKioL1gYTYbAbgQpAAAMy85-pCE529.png-wh_500x0-wm_3-wmp_4-s_561510725.png" target="_blank"></a>

这里B类中有两个m_data,一个是从A中继承的,另一个是自己的.

本文转自神ge 51CTO博客,原文链接:http://blog.51cto.com/12218412/1867463

继续阅读