<code>#include <iostream></code>
<code>using</code> <code>namespace</code> <code>std;</code>
<code>class</code> <code>Bass{};</code>
<code>class</code> <code>Derived:</code><code>public</code> <code>Bass{};</code>
<code>//这里如果为protected或者是private继承的话,则无法向上构造</code>
<code>int</code> <code>main(</code><code>void</code><code>){</code>
<code> </code><code>Derived d;</code>
<code> </code><code>Bass* pb = &d;</code><code>//向上构造(安全的)</code>
<code> </code><code>cout << pb << </code><code>','</code> <code><< &d << endl;</code><code>//两个地址是一样的</code>
<code> </code><code>//Base* pb = static_cast<Base*>(&d);静态类型转化</code>
<code> </code><code>return</code> <code>0;</code>
<code>}</code>
本文转自神ge 51CTO博客,原文链接:http://blog.51cto.com/12218412/1867087