Jump to content

nao sei como fazer!


suzy

Recommended Posts

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

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

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

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

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

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
×
×
  • 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.