📄 10.6c.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<BODY>
<table align=right width=300>
<tr>
<td>
<img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='10.6b.htm'" ></img></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='#'" ></img></td>
</tr>
</table>
<br><br>
<font class="title2"><b>练习</b></font>
<table width=100%><tr><td>    </td>
<td class="content">
<b>10.5 </b>考虑程序</span><span lang="EN-US">1</span>0<span lang="EN-US">.3</span><span style="font-family: 宋体">中的类继承,主程序包含了三次对方法的调用。根据</span><span lang="EN-US">1</span>0<span lang="EN-US">.5</span><span style="font-family: 宋体">节的编译优化方案,指出哪些动态方法的调用可以转化为静态的方法调用。</span></p>
<p class="MsoNormal"><font color="#0000FF">class</font><span lang="EN-US"> A{<br>
</span><font color="#0000FF">public</font><span lang="EN-US">:<br>
</span> <font color="#0000FF">virtual</font><span lang="EN-US">
</span><font color="#0000FF">void</font><span lang="EN-US"> f(){</span>
<font color="#0000FF">cout</font><span lang="EN-US"><<1</span>;
<span lang="EN-US">}<br>
</span> <span lang="EN-US">};</span></p>
<p class="MsoNormal"><font color="#0000FF">class</font><span lang="EN-US"> B</span>
<span lang="EN-US">:</span> <font color="#0000FF">public</font><span lang="EN-US">
A{<br>
</span><font color="#0000FF">public</font><span lang="EN-US">:<br>
</span><font color="#0000FF">virtual</font><span lang="EN-US"> </span>
<font color="#0000FF">void</font><span lang="EN-US"> g(){</span>
<font color="#0000FF">cout</font><span lang="EN-US"><<2;</span>
<span lang="EN-US">}<br>
</span> <span lang="EN-US">};</span></p>
<p class="MsoNormal"><font color="#0000FF">class</font><span lang="EN-US"> C</span>
<span lang="EN-US">:</span> <font color="#0000FF">public</font><span lang="EN-US">
B{<br>
</span><font color="#0000FF">public</font><span lang="EN-US">:<br>
</span><font color="#0000FF">void</font><span lang="EN-US"> f(){</span><font color="#0000FF">
cout</font><span lang="EN-US"><<3;</span> <span lang="EN-US">}<br>
</span> <span lang="EN-US">};</span></p>
<p class="MsoNormal"><span lang="EN-US">main()<br>
</span> <span lang="EN-US">{<br>
A*p;<br>
B*p1;<br>
C c;<br>
p=&c; </span> <span lang="EN-US">…… </span>
<span style="font-family: 宋体">①</span><span lang="EN-US"><br>
p->f();<br>
p1=&c; <br>
p1->f(); ……</span><span lang="EN-US" style="font-family: 宋体"> ②</span><span lang="EN-US"><br>
p1->g(); ……</span><span style="font-family: 宋体"> </span>
<span lang="EN-US" style="font-family: 宋体">③</span><span lang="EN-US"><br>
</span> }</p>
<p class="MsoNormal" align="center"><b><span style="font-family: 宋体">程序</span><span lang="EN-US">1</span>0<span lang="EN-US">.3</span></b><br>
</p>
<table align=center width=70%>
<tr><td align=right>
<img src="../images/key.gif" onmouseover="javascript:style.cursor='hand'" onclick="javascript:window.open('10.6.5.htm','','left=500,top=400,toolbar=no, scrollbars = no, width=30,height=150')" width="32" height="32"></img>
</td></tr>
</table>
<hr size=2 align=center color=red>
<table align=center width=70%>
<tr><td align=right>
</td></tr>
</table>
<br>
<table align=right width=300>
<tr>
<td>
<img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='10.6b.htm'" ></img></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='#'" ></img></td>
</tr>
</tr>
</table>
</BODY>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -