Avatar billede thomas_nj Nybegynder
28. juni 2005 - 00:02 Der er 6 kommentarer og
1 løsning

Kalde funktion på element nr n i vector

Hej eksperter

  Hvis jeg nu har en vector (kennel)med 10 objekter eksempelvis hunde hvordan kalder jeg så metoden gø på hund nr. 3 i vectoren.
  Lidt inspireret af hvordan jeg ville have gjort i C++ prøvede jeg følgende, men det giver desværre en fejl.
  kennel.elementAt(2).gø();

  Er der en, der ved hvordan dette gøres?
Avatar billede arne_v Ekspert
28. juni 2005 - 00:06 #1
prøv:

((hund)kennel.elementAt(2)).gø();
Avatar billede arne_v Ekspert
28. juni 2005 - 00:06 #2
elementAt returnerer Object som ikke har en gø metode
Avatar billede thomas_nj Nybegynder
28. juni 2005 - 00:14 #3
Det virker nu. Forstår bare stadig ikke helt hvorfor det er nødvendigt at angive typen.
Avatar billede arne_v Ekspert
28. juni 2005 - 00:20 #4
fordi elementAt ikke returnerer hund men Object

i C++ terminologi står du med en void* som du er nødt til at caste til hund* for
at du kan kalde hunds metoder
Avatar billede thomas_nj Nybegynder
28. juni 2005 - 00:28 #5
Aeh ok. Mange tak for det hurtige svar. Meget rart at kunne komme videre så hurtigt. Gider du ikke svare så jeg kan lukke?
Avatar billede arne_v Ekspert
28. juni 2005 - 07:13 #6
kommer her
Avatar billede mikkelbm Nybegynder
28. juni 2005 - 08:07 #7
Det kan jo så også lige nævnes, at man fra Java 5.0 kan bruge generics, så det ikke er nødvendigt at angive typen, hver gang man arbejder på sin Vector:

Vector<hund> kennel = new Vector<hund>();

kennel.elementAt(2).gø();
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester