Once having made a promise,you should keep it.

问题描述:

Once having made a promise,you should keep it.
为什么have要用进行时having?还有为什么shall要用过去时should?

本来是once you have...,这里由于主语一致,省掉从句中的主语,谓语使用ing形式.should这里不是过去时,是“应该”的 意思为什么不用TO have或had?在这个结构里,只能使用ing缩略,才能省掉主语。为什么,能详细解释一下吗?简单说,你把所提供的两个选项代入原句,就会发现它们都是错的,没有这种用法。 这里强调的是“一旦作出承诺(动作已经完成),to have不定式侧重未完成,将来的蕴含。had done是过去完成体的用法了),to have不定式侧重未完成,将来的蕴含。had done是过去完成体的用法,那分词ing一般表示什么?主动语态中,在主语一致的情况下,可以省去主语,代之以动词(助动词)的ing形式,如果是被动,就代之以ed分词形式