Programação Orientada a Objetos em C ++ - Parte 6 Introdução Esta é a parte 6 da minha série, Programação Orientada a Objetos em C ++. Uma função externa ou classe externo (classe não-derivados) não pode acessar um membro protegido de uma classe ou um membro privado de uma classe. Exceção pode ser feita a esta regra. Se você fizer uma função externa ou classe externa a um amigo para uma classe particular, então esse amigo pode acessar o membro da classe protegida e privada. Neste artigo vou mostrar-lhe como fazer amigos em C ++. Eu suponho, você tem lido a série desde o início.
Nota: Se você não pode ver o código ou se você acha que alguma coisa está faltando (link quebrado, imagem ausente), apenas contacte-me em [email protected]. Ou seja, contacte-me para o menor problema que você tem sobre o que você está lendo. Fazendo amigos Para fazer uma função ou classe a um amigo para uma classe particular, basta digitar o protótipo do que a função ou o protótipo da classe, na descrição da classe especial, que precede o protótipo, com a palavra-chave, amigo e um espaço. Isso é tudo.
Depois que a função amigo ou amigo de classe pode acessar os membros da classe especial protegidas e privadas. Vamos olhar para alguns exemplos. Amigo Função No código a seguir, o myFn function () é um amigo para a classe MyClass. #include using namespace std; class MyClass {protected: int num1; private: int num2; amigo int myFn (); }; int myFn () {MyClass myObj; myObj.num1 = 2; myObj.num2 = 3; cout int main () {myFn (); retornar 0; } Leia o código acima e experimentá-lo. Ele deve compilar e lhe dar resultados.
Para declarar (fazer) uma função externa de um amigo para uma classe, na descrição da classe que você digite o protótipo da função, precedido pela palavra-chave, amigo e um espaço. No código acima, myFn () é um amigo para MyClass. Assim, na definição de myFn () os membros de MyClass protegidas e privadas foram acessados. Amigo Classe No código a seguir, HisClass é um amigo para MyClass: #include using namespace std; class MyClass {protected: int num1; private: int num2; classe amigo HisClass; }; HisClass classe {public: myMthd void () {MyClass myObj; myObj.num1 = 2; myObj.
num2 = 3; cout}; int main () {HisClass hisObj; hisObj.myMthd (); retornar 0; } Leia o código acima e experimentá-lo. Ele deve compilar e lhe dar resultados. Para declarar (fazer) uma classe de um amigo para uma classe particular, na descrição da classe você digita o protótipo da classe, precedido pela