Miguelowski Posted January 26, 2016 at 02:16 PM Report #592554 Posted January 26, 2016 at 02:16 PM 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?
Solution HappyHippyHippo Posted January 26, 2016 at 02:31 PM Solution Report #592556 Posted January 26, 2016 at 02:31 PM 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); } 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguelowski Posted January 26, 2016 at 03:02 PM Author Report #592561 Posted January 26, 2016 at 03:02 PM 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?
HappyHippyHippo Posted January 26, 2016 at 03:05 PM Report #592562 Posted January 26, 2016 at 03:05 PM no que toca à lógica dos streams, sim, agora, o código dentro da função Show só posso supor que sim IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguelowski Posted January 26, 2016 at 03:06 PM Author Report #592563 Posted January 26, 2016 at 03:06 PM ok, um muito obrigado
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now