have done和have been done
have done和have been done都表示的是现在完成时,having done和having been done都是动词ing的完成形式,在句子中作状语,起到补充说明的作用。这里要注意的是,having所接的动词发生的时间在主句中谓语动词发生的时间之前。比如:Having driven all day,we were so tired.这个例子中,having driven表示“我们”的状态,“开了一天的车”,并且drive的动作发生在be tired的之前。