Avatar billede Slettet bruger
13. august 2006 - 08:17 Der er 9 kommentarer og
1 løsning

Kort om variabelstier

Hej eksperter!

Jeg sidder lige og forsøger at skrive et lille program...
Det er bare noget tid side, jeg sidst skrev C+, så jeg kunne godt bruge en lille "opfrisker"!

Hvordan er det lige, man angiver en variabelsti?

Eks.:

class MinKlasse {
    int tal1;
    int tal2;
  public:
    MinKlasse(int p_tal) {
      tal1 = p_tal;
      tal2 = main::talIMain;
    }
    int getTal1 {
      return tal1;
    }
    int getTal2 {
      return tal2;
    }
}
int main() {
  int talIMain = 2;
  instansAfKlassen = new MinKlasse(1);
  cout << instansAfKlassen::getTal1;
  cout << instansAfKlassen::getTal2;
}

...Jeg kan bare ikke huske, hvordan man skriver, at compileren i klassedelen skal hente var talIMain fra main(). Og hvordan main() skal informeres om getTal1()'s og getTal2()'s placeringer.

Over stående er vist ikke korrekt...
Men ret det venligst ;)
Avatar billede Slettet bruger
13. august 2006 - 08:18 #1
*Overstående, hehe...
Avatar billede nielle Nybegynder
13. august 2006 - 08:29 #2
Prøv med:

  cout << instansAfKlassen.getTal1;
  cout << instansAfKlassen.getTal2;
Avatar billede nielle Nybegynder
13. august 2006 - 08:37 #3
... eller:

  cout << instansAfKlassen->getTal1;
  cout << instansAfKlassen->getTal2;

Det afhænger lidt af hvordan du erklære din instans. Den sidste er til hvis det ere en pointer du bruger.
Avatar billede bertelbrander Novice
13. august 2006 - 13:36 #4
#include <iostream>
using namespace std;

class MinKlasse {
    int tal1;
    int tal2;
  public:
    MinKlasse(int p_tal) : tal1(p_tal), tal2(123)
    {
      // tal2 = main::talIMain;
    }
    int getTal1() {
      return tal1;
    }
    int getTal2() {
      return tal2;
    }
};

int main() {
  MinKlasse* instansAfKlassen = new MinKlasse(1);
  cout << instansAfKlassen->getTal1() << std::endl;
  cout << instansAfKlassen->getTal2() << std::endl;
  delete instansAfKlassen;
}
Avatar billede arne_v Ekspert
13. august 2006 - 16:13 #5
objekt.metode
pointertilobjekt->metode
klasse::statiskmetode
Avatar billede Slettet bruger
15. august 2006 - 18:02 #6
Ah... Okaj, bare smid et svar hver :)
Avatar billede nielle Nybegynder
15. august 2006 - 18:03 #7
Svar :^)
Avatar billede Slettet bruger
17. august 2006 - 18:52 #8
Nå, det blev kun nielle, der fik point...
Men, hvad pokker...
bertel samler vist ikke på dem, og arne_v har nok i forvejen ;)
Avatar billede arne_v Ekspert
17. august 2006 - 19:06 #9
der er ikke noget der hedder "nok"

men jeg havde faktisk set din request og valgte ikke at svare fordi jeg ikke bidrog
med noget til loesningen men kun "opsummerede"
Avatar billede Slettet bruger
20. august 2006 - 08:03 #10
Hehe, ok...
Jeg ville bare gerne have lukket spørgsmålet; det er træls med en masse rod.
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