Avatar billede baltazar_ Nybegynder
03. juli 2003 - 21:25 Der er 3 kommentarer og
1 løsning

hente variabel fra anden class

Jeg skal i min class CSDlg : public CDialog bruge værdien af "idnummer"
som bliver oprettet i min "class CSetup " som den er kaldt

hvorledes kan jeg hente denne oplysning på tværs af de to classer. Jeg var ret sikker på at jeg ved at oprette idnummer i public hermed gjorde den tilgængelig for andre classer men det var ikke tilfældet.
er der en der kan guide mig vidrer.
Avatar billede arne_v Ekspert
03. juli 2003 - 21:30 #1
Hvis idnummer er public i CSDlg klassen og du i CSetup har en
referance til et objekt af typen CSDlg ved navn csd, så bør du kunne
bruge:

csd.idnummer
Avatar billede arne_v Ekspert
03. juli 2003 - 21:31 #2
Hvis du ikke har et objekt af typen CSDlg så skal idnummer erklæres
til at være static og så kan du accesse den med:

CSDLg::idnummer

(men det lyder ikke som noget der er static)
Avatar billede baltazar_ Nybegynder
04. juli 2003 - 21:40 #3
lyder lidt forvirrende, kan i lave et simpelkt eksempel af en slags.
Avatar billede arne_v Ekspert
04. juli 2003 - 21:58 #4
Det kan jeg godt forstå, fordi jeg er vist komme til at bytte rundt på
nogle ting.

Jeg prøver lige igen.

class CSDlg : public CDialog
{
  private:
      CSetup *cs;
  public:
      CSDlg(CSetup owner)
      {
          cs = owner;
      }
      void foobar();
};

void CSDlg::foobar()
{
  ...
  int id = cs->idnummer;
  ...
}

class CSetup
{
  private:
      CSDlg *csd;
  public:
      int idnummer;
      CSetup()
      {
          csd = new CSDlg(this);
          idnummer = 123;
      }
};

Det er så eksemplet med en ikke-statisk variabel.

[og det er bare tastet ind her - jeg har ikke checket]
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