could have done: 本可以做但是实际没有 could还能表示能力 但是should不能表示能力
You could have done better.// 实际做的不是很好
The accident could have been prevented. // 本来可以被阻止的
// couldn't have doee / can't have done 不能表示虚拟
// 不可能做过某事
He couldn't have attended your lecture.
// 本没有必要, 实际上是带了
We needn't have taken warm sweaters.(疑问句)
You needn't have watered the flowers, for it is going to rain.
Need he have solde the house then? 只能用在否定句和疑问句中
need have done 无肯定句 用于疑问句询问当时做某事的必要性
You should have got up earlier.// 本应该
You shoudn't have driven so fast.// 本不应该
否定时也表示虚拟:本不应该做但却做了
// 表示推测
She should(应该) have got bome by now.
// swim-swam-swum
it's said that they have swum to the island from the continent, but they couldn't have done that becuase the ocean in between is too wide.
He paid for a seat, however, he could/should have enterd free.
Oh, I am not felling well in the stomach. I should not have eaten so much fried chicken just now.