一、“would+have+done”
虚拟语气,表示对过去事情的假设,意思是“本来会做”。
1. I would have told you all about the boy's story, but you didn't ask me.
我本来会告诉你这个小男孩的故事,但是你没有问我。
2. Without your help, I wouldn't have achieved so much.
没有你的帮助,我是不会取得如此大的成绩。
二、“should+have+done”意思是“本来应该做某事,而实际没做。
1. Tom, you are too lazy. The work should have been finished yesterday.
汤姆,你太懒惰了,这项工作本来应该昨天就做完的。
三、“could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。
He could have passed the exam, but he was too careless.
本来他能够通过考试,但是他太粗心。
四、“might+have+done”表示对过去事情的推测,might与may意思相同,但可能性更小。多用于虚拟语气结构中。
1. He might have given you more help, even though he was busy. (MET90)
他或许会多给你一些帮助,即使他很忙。
2. She might have achieved greater progress, if you had given her more chances.
如果你多给她点机会,她可能已经取得更大的成绩。
希望是您想要的答案!!!