非谓语做定语时,having done,和doing有什么区别?如果是在过去式中用having done还是doing?

问题描述:

非谓语做定语时,having done,和doing有什么区别?
如果是在过去式中用having done还是doing?

首先,没见过having done 做定语,一般来说having done是做状语的。
然后他们的区别,看和其逻辑主语的动作发生时间的先后关系判断吧,之前就是having done。

having done 不能做定语

doing动名词
表示的动作与谓语同时发生
having done动名词的完成时
表示的动作发生在谓语之前
同样,谓语过去时,假如是同时发生用doing
假如是发生在过去动作的过去,也用having done

having done是完成时,在句中强调动作已经完成。
而doing是表伴随的状态,同时发生。