■表示对过去情况的推测
1. must have +P. P. 一定已经
2. can/could have + P. P. 可能已经
3. may/might have + P. P. 或许已经
用例:
He must have taken the book since it isn’t here. 他一定是把书拿走了,因为书已不在这里了。
What could have become of him now? 现在他可能怎么样了呢?
You may have noted that my address has changed. 你也许已经注意到我的地址变了。
She might have gone to have her hair waved. 她可能去烫发去了。
注意:could have done还可表示“简直就要”。如:
I could have died laughing. 我简直要笑死了。 
■表示轻微的责备或后悔
1. ought to /should + have + P. P. 本来应该做某事(而实际上没做)
2. ought not to /shouldn’t + have + P. P. 本来不应该做某事(而实际上却做了)
3. could + have + P. P. 本来能够做某事(而实际上没做)
4. might have +P. P. 本来可以做某事(而实际上没做)
5. needn’t + have + P. P. 本来不必做某事(而实际上做了)
用例:
I ought to have helped her,but I never could. 我本该帮助她的,却从未能这样做。
They oughtn’t to have let you out of hospital so soon. 他们不应当让你这样早出院。
We all know what the poor man should have said. 我们都知道那位可怜的人儿本来应该怎样说。
You shouldn’t have told him about it. 你本不该把这件事告诉他的。
She could have applied for that job, but she didn’t. 她本可以申请这份工作的,但她没有。
注意:其中could, might不可用can, may代替,这与表示推测时的用法不同。

引用地址:Article/200810/