Podemos aumentar a reutilização desse padrão de proteção de acesso orientado a chaves?
Podemos aumentar a reutilização paraesse padrão de proteção de acesso orientado a chaves:
class SomeKey {
friend class Foo;
// more friends... ?
SomeKey() {}
// possibly non-copyable too
};
class Bar {
public:
void protectedMethod(SomeKey); // only friends of SomeKey have access
};
Para evitar mal-entendidos contínuos, esse padrão é diferente doAdvogado-Cliente idioma:
Pode ser mais conciso do que o advogado-cliente (pois não envolve proxy através de uma terceira classe)Pode permitir a delegação de direitos de acesso... mas também é mais intrusivo na classe original (um parâmetro fictício por método)(Uma discussão paralela desenvolvida emessa questão, portanto, estou abrindo esta pergunta.)