should have done与should have been done的区别?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 06:57:45
should have done与should have been done的区别?

should have done与should have been done的区别?
should have done与should have been done的区别?

should have done与should have been done的区别?
来个都是虚拟.should have done是主动,应该做而没做;should have been done是被动,应该被做而没被做.
eg:You should have told me yesterday that you had changed your mind. 你昨天应该告诉我你改变主意了.(实际上没有告诉)
Your work should have been done before you went home. 你的工作应该在你回家之前(被)做完.(实际上没被做完)

Should have done 是主动式语法 (Active voice) 通常是表示你/我/他应该做某事
should have been done 是被动式语法 (Passive voice) 表示某件事应该做的

将来完成时,和将来完成时的被动形式
还含有虚拟语气的意义
I should have finished the homework. 我本该完成作业的。
The homework should have been finished (by me).作业本该被完成的。

shoud have done 是主动语态
should have been done 是被动语态

主动和被动的区别,其实都是虚拟语气。。。。