这可能是一个愚蠢的问题,但在搜索了几个小时后我找不到答案。
使用 AspectC++,我们可以定义切入点,它表示一旦匹配就会被拦截的东西。例如,我可以做
pointcut pc() = call("% Base::%(...)");
这样任何advice
使用切入点的pc
人都会拦截对类的某些方法的任何调用Base
。即使稍后创建了一个子类,这仍然有效Sub
:Base
也pc
将拦截对方法的调用Sub
。现在,我想要的是仅拦截的方法Sub
,即.Sub
中不存在的方法Base
。我们如何才能pc()
拦截最终创建的任何子类的任何方法Base
,而不是Base
其本身的方法?