Quem sou eu

Minha foto
Rio de Janeiro, RJ, Brazil
Estudante do 8º periodo de Sistemas de Informação.

BEM VINDO!!

BEM VINDO AO BLOGUE DO RAFAEL,
UM BLOG COM BASTANTE CONTEÚDO
E QUE PODE LHE AJUDAR MUITO!!

quarta-feira, 29 de dezembro de 2010

POO - Friend

#include
#include
using std::cout;
using std::endl;

//definição da classe Count
class Count
{
      friend void setx (Count &, int); //declaração friend
   public:
          //construtor
          Count()
             : x(0) // inicializa o x como 0
             {
                    // corpo vazio
             } // fim do construtor de count
                    // gera saída de x
            void print() const
             {
                         cout<< x << endl;
             } // fim da função print

   private:
           int x; // membro de dados
}; // fim da classe Count
           
           // a função setx pode modificar os dados private de Count
           //porque setx é declarada como uma amiga de Count (linha 10)
           void setx (Count &c, int val)
           {
                c.x = val; // permitido pois setx Count é uma amiga de Count
            } // fim da função setx

 int main()
 {
     Count counter; // cria o objeto Count
     cout << "counter.x after instalation:";
     counter.print();
     
     setx (counter, 8); //configura x utilizando uma função friend
     cout << " counter.x after call to setx friend function: ";
     counter.print();
     system ("pause");
     return 0;
 }// fim de main

Nenhum comentário:

Postar um comentário

Powered By Blogger