fernando_ott Postado Dezembro 20, 2007 Denunciar Share Postado Dezembro 20, 2007 Olá.Estou começando no POO, e gostaria saber porque q o cout no mostra_dados não funciona, enquanto o cout do entrada_dados sim...É um problema de passagem de parametros, e na maneira como encapsulei, mas não estou conseguindo descobrir o porque.../*Ordena frases*/ #include <iostream.h> #include <stdio.h> #include <string.h> class ordena { public: void entra_dados(); void mostra_dados(); // inline void crescente(string a); // inline void decrescente(string a); private: char **v; //string dinamica int tam; }; void ordena::mostra_dados() { cout << "TAM : " << tam << endl; for (int i=0; i<tam; i++) cout << "Frase " << i << " : " << v[i] << endl; } void ordena::entra_dados() { int i=0; char **a = (char **)malloc(sizeof(char *)); do{ a[i] = (char *)calloc(100,sizeof(char)); cout << "Entre com a frase: "; cin.getline (a[i],100); i++; }while( strlen( a[i-1]) != 0); v = a; tam = i-1; for (int i=0; i<tam; i++) cout << "Frase " << i << " : " << v[i] << endl; free(a); } int main() { ordena ord; ord.entra_dados(); ord.mostra_dados(); cout << "sucesso"; getchar(); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Dezembro 26, 2007 Denunciar Share Postado Dezembro 26, 2007 cout << "TAM : " << tam << endl; Tente inicializa 'tam' para zero, na linha int tam = 0; da classe, pois nenhum valor foi definido, apenas um bloco da memória stack foi reservado.Falows! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fernando_ott
Olá.
Estou começando no POO, e gostaria saber porque q o cout no mostra_dados não funciona, enquanto o cout do entrada_dados sim...
É um problema de passagem de parametros, e na maneira como encapsulei, mas não estou conseguindo descobrir o porque...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.