Можем ли мы повысить возможность повторного использования этого ориентированного на ключ шаблона защиты доступа?

Можем ли мы увеличить повторное использование дляэтот ориентированный на ключ шаблон защиты доступа:

class SomeKey { 
    friend class Foo;
    // more friends... ?
    SomeKey() {} 
    // possibly non-copyable too
};

class Bar {
public:
    void protectedMethod(SomeKey); // only friends of SomeKey have access
};

Чтобы избежать постоянных недоразумений, эта схема отличается отАдвокат-клиент идиома:

Он может быть более кратким, чем Attorney-Client (так как он не предполагает прокси через третий класс)Это может позволить делегирование прав доступа... но это также более навязчиво для исходного класса (один фиктивный параметр на метод)

(Побочное обсуждение, разработанное вэтот вопросТаким образом, я открываю этот вопрос.)

Ответы на вопрос(3)

Ваш ответ на вопрос