have done和have been done
have done和have been done都表示的是現(xiàn)在完成時,having done和having been done都是動詞ing的完成形式,在句子中作狀語,起到補充說明的作用。這里要注意的是,having所接的動詞發(fā)生的時間在主句中謂語動詞發(fā)生的時間之前。比如:Having driven all day,we were so tired.這個例子中,having driven表示“我們”的狀態(tài),“開了一天的車”,并且drive的動作發(fā)生在be tired的之前。
having done和having been done的區(qū)別
前者having done表示的是主動,后者having been done表示的是被動。例:
1.Having driven all day,we were so tired. 我們開了一天的車,現(xiàn)在都很累了,having driven表示的是主動,是“我們開了一天的車”;
2.Having been criticized today, he was so sad. 今天被批評了,他很難過。是"he"被批評,而這個原因狀語又是修飾"he",所以要用被動,have been done。