have sth done是一个固定词组搭配,,意思是让什么东西怎么样,什么东西被怎样,用在这句话中就是have his hair cut,就是他吧头发剪了,当然不是自己剪得,用这个词组就是表示是让别人剪得头发。这就是第二个have的含义,之所以变成had是因为时态的问题,这句话采用过去完成时,固定形式为have done(动词的过去分词形式),表示已经……,在这句话中,动词是have his hair cut中的have ,所以第二个have就变成了had,过去分词形式啦。当然第一个have就是过去完成时的固定格式而已,明白啦?