suzy Posted November 5, 2007 at 11:37 AM Report Share #145338 Posted November 5, 2007 at 11:37 AM tenho uma classe, que é a classe encomenda! class encomenda{ string nomecliente; auxiliar *ptr; int n;// } e tenho outra classe auxiliar classe auxiliar{ int preco; string codigo; int quantidade; } a minha duvida é, tenho um vector de encomendas! quero pesqueisar o nome do cliente, so o nome estiver num dos elementos do meu array encomendas, tenho acesso ao meu vector auxiliar.. como tenho acesso? ptr->getpreco?? nao percebo Link to comment Share on other sites More sharing options...
TheDark Posted November 5, 2007 at 01:02 PM Report Share #145345 Posted November 5, 2007 at 01:02 PM Não tens nenhum método getpreco definido na classe auxiliar. Omitiste ou não existe? Não percebi bem ao que queres ter acesso. ptr aponta para uma instância de auxiliar. Só por aí já tens acesso ao objecto. Se o que queres é ter acesso aos valores dos campos de ptr, então ou crias métodos que retornem o valor de cada um dos campos, ou tornas os campos públicos. Desaparecido. Link to comment Share on other sites More sharing options...
suzy Posted November 5, 2007 at 01:07 PM Author Report Share #145346 Posted November 5, 2007 at 01:07 PM :)sim a função auxiliar ja tem funçoes tipo getpreco, get quantidade, o meu problema e com o ponteiro, para ter acesso aos elementos dos auxiliares faço ptr->getpreco? Link to comment Share on other sites More sharing options...
TheDark Posted November 5, 2007 at 01:22 PM Report Share #145348 Posted November 5, 2007 at 01:22 PM Exactamente. Mais precisamente ptr->getpreco(). Se ptr for um array de auxiliares, podes fazer ptr[0].getpreco(), ptr[1].getpreco(), etc. Desaparecido. Link to comment Share on other sites More sharing options...
suzy Posted November 5, 2007 at 01:29 PM Author Report Share #145350 Posted November 5, 2007 at 01:29 PM ptr é um ponteiro para a classe auxiliar Link to comment Share on other sites More sharing options...
suzy Posted November 5, 2007 at 01:30 PM Author Report Share #145351 Posted November 5, 2007 at 01:30 PM por sua vez a classe auxiliar e um array dinamico de objectos tipo auxiliares Link to comment Share on other sites More sharing options...
TheDark Posted November 5, 2007 at 03:43 PM Report Share #145370 Posted November 5, 2007 at 03:43 PM ptr é que pode ser um array. A classe auxiliar é simplesmente uma classe. ptr aponta para o 1º elemento de um array de auxiliar. É isso? Mais importante, já percebeste o que querias? Desaparecido. Link to comment Share on other sites More sharing options...
pedrotuga Posted November 5, 2007 at 04:12 PM Report Share #145379 Posted November 5, 2007 at 04:12 PM Acho que ela quer dizer que tem arrays de ponteiros para aquelas duas classes. E depois pretende usar os ponteiros que são membros da classe, certo suzy? O que interessa reter aqui é: para acederes a um membro ou método da classe usas tendo um objecto instancializado usas o operador de acesso '.' Se estiveres a aceder ao objecto atraves de um ponteiro que aponte para ele então usas a seta em vez do ponteiro. tipo saco_de_batatas saco(); saco_de_batatas.get_minhocas(); saco_de_batatas *point = saco; point->get_minhocas(); Espero nao me ter enganado na sintaxe. Pela milésima vez... lê a regras! http://www.portugal-a-programar.pt/guidelines/ Link to comment Share on other sites More sharing options...
suzy Posted November 5, 2007 at 10:38 PM Author Report Share #145503 Posted November 5, 2007 at 10:38 PM :)ok:) qd tenho um duvida posto logo ? e ja agora, como somo variaveis num array dinamico:????? ? tipo [5][9][4] soma=19 Link to comment Share on other sites More sharing options...
pedrotuga Posted November 6, 2007 at 05:53 AM Report Share #145540 Posted November 6, 2007 at 05:53 AM Em relação às regras estava-me a referir ao uso do gueshi e de um título apropriado para o tópico em vez de "ajudem-me por favor". Ora bem, neste caso como os elementos são todos do mesmo tamanho. int a[3]; a[0]=5; a[0]=9; a[0]=4; int aux=0; for(int i=0;i<sizeof(a)/sizeof(a[0]);i++){ aux= aux+a[i]; } Se não perceberes o uso do sizeof google -> get array length c++ Link to comment Share on other sites More sharing options...
TheDark Posted November 6, 2007 at 01:54 PM Report Share #145626 Posted November 6, 2007 at 01:54 PM saco_de_batatas saco(); saco_de_batatas.get_minhocas(); saco_de_batatas *point = saco; point->get_minhocas(); saco_de_batatas saco(); saco.get_minhocas(); saco_de_batatas *point = &saco; point->get_minhocas(); Só podias fazer saco_de_batatas.get_minhocas(); caso get_minhocas() fosse um método estático. E faltava o & na atribuição do ponteiro. E já agora revê isto: int a[3]; a[0]=5; a[0]=9; a[0]=4; que estás a escrever sempre no mesmo índice. E isso não é um array dinâmico. Essa fórmula só funciona em arrays estáticos e dentro da função onde foram definidos. Para arrays dinâmicos, dá sempre jeito ficar com o tamanho do array que se alocou numa variável. Desaparecido. Link to comment Share on other sites More sharing options...
pedrotuga Posted November 6, 2007 at 02:28 PM Report Share #145630 Posted November 6, 2007 at 02:28 PM isso foi do copy paste, esqeci-me de mudar o índice... sorry. Link to comment Share on other sites More sharing options...
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