前文中,我們了解到,might, may, could, can, will, would, should, ought to, must等9個(gè)情態(tài)動(dòng)詞,可以表示推測(cè)性意義,其后可以接動(dòng)詞的一般形式、進(jìn)行體形式和完成體形式。其實(shí),“情態(tài)動(dòng)詞+完成體”除了具有推測(cè)性含義,還可以表示虛擬意義。具體而言:

1)must + have done:用于肯定句,表示推測(cè),意為“一定(已經(jīng))……”。

??? You must have finished the work. 你一定已經(jīng)完成工作了。

2)can + have done:用于否定句或疑問(wèn)句,表示推測(cè),意為“可能(已經(jīng))……”。

??? He can’t have left so soon. 他不可能走得這么早。

3)could + have done:可用于肯定句、否定句或疑問(wèn)句,表示推測(cè)、責(zé)備或遺憾等,意為“可能……”、“本來(lái)可以……”、“本來(lái)應(yīng)該……”等。

??? You could have finished it, but you failed. 你本可以完成,但你失敗了。

4)should [ought to] + have done:可用于肯定句、否定句或疑問(wèn)句,表示責(zé)備或遺憾等,意為“本來(lái)應(yīng)該……”。

??? You should have helped me, but you just sat and watched there.

??? 你本應(yīng)該幫我的,但你只是在那坐著看。

5)need + have done:用于否定句或疑問(wèn)句,用于否定時(shí)意為“本來(lái)不必”,用于疑問(wèn)句時(shí)意為“有必要……嗎”。

??? You needn’t have helped me because I could make it.

??? 你本沒(méi)必要幫我的,我自己可以做到。

6)may + have done:用于肯定句或否定句,表示推測(cè),意為“可能(已經(jīng))……”。

??? She may have seen this film. 她可能已經(jīng)看過(guò)這部電影了。

7)might + have done:用于肯定句或否定句,表示推測(cè),意為“可能(已經(jīng))……(此時(shí)might可換為 may);

??? She may/ might have seen this film. 她可能已經(jīng)看過(guò)這部電影了。

??? 另外還可以表示過(guò)去可能發(fā)生的事結(jié)果未發(fā)生,意為“本來(lái)會(huì)……”(此時(shí) might不能換為 may)。

???? Tom might have given you more help, even though he was busy.

??? 盡管湯姆很忙,他或許也會(huì)多給你一些幫助。