Схема: to have been + Present Participle. Пример: to have been talking.
Эта форма используется в следующих случаях:
1. Длительное завершенное действие
Инфинитив обозначает длительное действие, которое совершалось, но завершилось перед действием, выраженным глаголом.
The woman seemed to have been crying. – Женщина выглядела так, будто плакала.
He pretended to have been working all day. – Он притворился, что работал весь день.
2. После модальных глаголов must, may, should
Выражается предположение о том, что некое длительное действие происходило, но уже закончилось.
You must have been waiting for hours! – Ты, должно быть, прождал несколько часов!
They might have been talking before you came in. – Они, должно быть, говорили до того, как ты вошел.
В случае с модальным глаголом should присутствует оттенок сожаления или упрека в том, что некое длительное действие могло происходить, но в реальности не происходило.
You should have been studying for your test. – Тебе надо было готовиться к тесту (но ты не готовился).
Примечание:
Обратите внимание, что во всех Perfect-формах инфинитива, то есть в формах, где есть have, само слово have никогда не принимает форму has, как в случае с глаголом в личной форме. Слово have в данном случае является частью инфинитива, поэтому не может соотноситься с лицом и числом, соответственно не может принимать личную форму has (has = 3 лицо, ед. число).
He has a fox. – У него есть лиса.
Используется форма has, т. к. это личная форма (3 лицо, ед. число) глагола.
He might have a fox. – У него, возможно, есть лиса.
Здесь have – инфинитив, он не имеет лица и числа.