Jump to content

Substituir funçao no metodo friend


Miguelowski
 Share

Go to solution Solved by HappyHippyHippo,

Recommended Posts

Tenho esta funçao:

voidTabuleiro::Show(){

int i = 0, j;

cout << " Jogo do Galo\n";

for (i = 0; i < Nc; i++){

cout << " " << i + 1;

}

cout << "\n";

for (i = 0; i < Nl; i++){

cout << i + 1 << " ";

for (j = 0; j < Nc-1; j++){

cout << Matriz[i][j] << " | ";

}

cout << Matriz[Nc-1];

cout << "\n";

if (i < Nl - 1){

cout << " -------";

for (j = 0; j < Nc - 1; j++){

cout << "|-------";

}

cout<<"\n";

}

}

cout << "\n";

}

E este metodo friend

ostream & operator << (ostream &os, constTabuleirot)

{

os << t.Nc << "/" << t.Nl <<endl;

returnos;

}

istream & operator >> (istream &is, Tabuleiro &t)

{

cout << "Numero de colunas: ";

is >> t.Nc;

cout << "Numero de linhas: ";

is >> t.Nl;

returnis;

}

Como posso substituir a funçao Show pelo metodo friend de modo ao friend retornar Show?

Link to comment
Share on other sites

  • Solution

primeiro, deverias alterar a assinatura da função show, e depois é só chamar-la na função "friend"

ostream& Tabuleiro::Show(ostream& os) const { // <-- olha o const para poder ser chamada
 // usar "os" em vez de "cout"
 // ...

 return os;
}

ostream & operator << (ostream &os, const Tabuleiro t)
{
 return t.show(os);
}
  • Vote 1
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

ostream& Tabuleiro::Show(ostream& os) const {
int i = 0, j;
os << " Jogo do Galo\n";
for (i = 0; i < Nc; i++){
os << " " << i + 1;
}
os << "\n";
for (i = 0; i < Nl; i++){
os << i + 1 << " ";
for (j = 0; j < Nc-1; j++){
os << Matriz[i][j] << " | ";
}
os << Matriz[Nc-1];
os << "\n";
if (i < Nl - 1){
os << " -------";
for (j = 0; j < Nc - 1; j++){
os << "|-------";
}
os<<"\n";
}
}
os << "\n";
}
return os
}
ostream & operator << (ostream &os, const Tabuleiro t)
{
return t.show(os);
}

O codigo ficaria assim entao?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.