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