subject_45135.htm

来自「一些关于vc的问答」· HTM 代码 · 共 4 行

HTM
4
字号
<p>
序号:45135 发表者:huwell 发表日期:2003-06-26 21:24:05
<br>主题:有个问题我实在想不通,请高手帮忙醍醐灌顶啊(已解决!)
<br>内容:有关《COM原理与应用》一书中<BR>讲到聚合模式时的那个例子:<BR>就是在调用ISomeInterface时,我始终认为这个是陷入了循环。<BR>因为B的QueryInterface对IID_SomeInterface的判断是调用m_pUnknowInner-&gt;QueryInterface(IID_ISomeInterface,(void **)&amp;m_pSomeInterface);<BR>这里我知道m_pUnknowInner是指向A的INodelegationUnknow接口指针。<BR>但是它调用的是QueryInterface成员函数,这里的函数代码是<BR>if(m_pUnknowOuter!=NULL)<BR>&nbsp;&nbsp;return m_pUnknowOuter-&gt;QueryInterface(iid, ppv);<BR>else<BR>&nbsp;&nbsp;return NondelegatingQueryInterface(iid,ppv);<BR>程序中,这里的m_pUnknowOuter有了具体值(指向B的),所以这里又到了调用B的QueryInterface,这样不是陷入了循环吗?!我实在搞不懂<BR><BR>只是程序这样确实是通过执行了,只有一个可能,我的分析出了问题,可问题在哪里那?请高手帮帮我,急!! <BR>2003-6-27 9:41:52

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?