#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