1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<code>#include <iostream></code>
<code>using</code> <code>namespace</code> <code>std;</code>
<code>class</code> <code>base</code>
<code>{</code>
<code>public</code><code>:</code>
<code> </code><code>virtual</code> <code>void</code> <code>p()</code>
<code> </code><code>{</code>
<code> </code><code>cout<<</code><code>"base::p"</code><code><<endl;</code>
<code> </code><code>}</code>
<code>};</code>
<code>class</code> <code>dev : </code><code>public</code> <code>base</code>
<code> </code><code>cout<<</code><code>"dev::p"</code><code><<endl;</code>
<code>typedef</code> <code>void</code> <code>(base::*func)();</code>
<code>int</code> <code>main ()</code>
<code> </code><code>func pfunc = &base::p;</code>
<code> </code><code>dev d;</code>
<code> </code><code>(d.*pfunc)();</code>
<code> </code><code>return</code> <code>0;</code>
<code>}</code>
调用的是dev::p