Having been told that some guests were coming, she sTOPped all morningin that supermarket.

这句话中为何是用having been told?

when asked the reason for their success,the kids had twoexplanation.

这两句话非常像,但第二句就用的是asked,同样都是主句为过去,从句要用被动态过去分词,为何第二句不需要having been asked呢?

 

第一句sTOPped 应为 shopped.

第一句作状语的having beentold为目前分词完成体被动语态。之所以用完成体,是由于告诉的动作发生在谓语动作之前。第二句是when引导时间状语从句,省略了主语和be, when asked = when the kids were asked. When引导时间状语从句,可以表示主句的动作紧接着从句的动作发生。比如,When he opened the door, he saw Tom. 这个when从句是没必要用过去完成时的,由于从句和主句的动词衔接发生。假如二个动作之间有较长的时间间隔,则从句就需要用完成体。比如,When he had sold his old house, he moved to Shanghai.