Avatar billede joki Mester
09. februar 2005 - 18:36 Der er 10 kommentarer og
1 løsning

gennemløb af vector + kald af metode på objekt i vector

Hej

Jeg har en vector der indeholder nogle objekter, med div variabler navn, alder o.s.v. til at hente data ud af objektet er der metoder som ser ud til at fungere.

Hvordan gemmenløber jeg en vector og hver gang den peger på et objekt i det næste element skal den kalde en metode på det pågældende objekt.
Avatar billede arne_v Ekspert
09. februar 2005 - 18:38 #1
for(int i = 0; i < dinvector.size(); i++) {
    DinKlasse o = (DinKlasse)dinvector.get(i);
    o.dinmetode();
}
Avatar billede joki Mester
09. februar 2005 - 19:01 #2
det ser ud til at virke, men lad mig lige høre om jeg også har forstået det.
for(int i = 0; i < dinvector.size(); i++)  //gennemløber vector.
DinKlasse o = (DinKlasse)dinvector.get(i); //opretter midlertidigt objekt "o" til

det objekt der er i pågældende element. " (dinklasse) " er det en form for Parse  ??

o.dinmetode(); // kalder metode på objekt

smid et svar så giver jeg point
Avatar billede arne_v Ekspert
09. februar 2005 - 19:09 #3
(DinKlasse) er et cast

den er nødvendig fordi Vector get returnerer Object
Avatar billede arne_v Ekspert
09. februar 2005 - 19:10 #4
Men ellers helt rigtigt
Avatar billede arne_v Ekspert
09. februar 2005 - 19:10 #5
og svar
Avatar billede joki Mester
09. februar 2005 - 19:24 #6
jeg er ny i denne verden, så lige et spørgsmål mere.
Hvorfor er den nødvendig, når " o" også er et objekt, dog midlertidigt.
Avatar billede arne_v Ekspert
09. februar 2005 - 19:27 #7
Du kan godt skrive:

Object o = dinvector.get(i);

men du kan ikke kalde dinmetode på Object. Det kræver en DinKlasse.

Derfor caster man til en sådan med:

DinKlasse o = (DinKlasse)dinvector.get(i);
Avatar billede arne_v Ekspert
09. februar 2005 - 19:28 #8
DinKlasse o = (DinKlasse)dinvector.get(i);
    o.dinmetode();

kunne også laves som:

    Object o = dinvector.get(i);
    ((DinKlasse)o).dinmetode();

eller

    ((DinKlasse)(dinvector.get(i))).dinmetode();

men jeg synes at den første er pænest og nemmest at læse
Avatar billede joki Mester
09. februar 2005 - 19:39 #9
ok takker
Avatar billede arne_v Ekspert
25. februar 2005 - 20:38 #10
så mangler du bare at acceptere
Avatar billede joki Mester
26. februar 2005 - 19:10 #11
Sorry så burde du have fået lidt point
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