Avatar billede gulbaek Nybegynder
31. august 2005 - 12:12 Der er 8 kommentarer og
1 løsning

Returner en struct

Hejsa, simpelt spørgsmål hvordan returnere jeg en struct i c++ ?

følgende dur ikke rigtig
  class Monster
  {
  public:
          mReward          getReward();
  private:
      struct mReward
      {
            int mExpReward;
            int mGoldReward;
      };
  };
Avatar billede arne_v Ekspert
31. august 2005 - 12:17 #1
du har erklæret en struct til at være private inde i en klasse
og så vil du returnere den i en public metode ?
Avatar billede gulbaek Nybegynder
31. august 2005 - 12:19 #2
ja, hvis det er muligt
Avatar billede arne_v Ekspert
31. august 2005 - 12:21 #3
ikke muligt

dem der kalder den public metode har jo ikke adgang til definitionen af det
som returneres
Avatar billede gulbaek Nybegynder
31. august 2005 - 12:31 #4
hmm, nu troede jeg lige jeg kunne pakke tingene pænt ind.

Ville egentlig bare lave noget pæn kode der returnere mExpReward og mGoldReward sammen, plus det ville være nemt at udvide.
Avatar billede gulbaek Nybegynder
31. august 2005 - 12:39 #5
Jeg kunne jo sagtens lave min struct public, men derved giver jeg jo også adgang til at man kan ændre i mExpReward og mGoldReward og det ønsker jeg ikke, det skal kun være muligt at læse deres indhold.
Avatar billede arne_v Ekspert
31. august 2005 - 12:48 #6
din struct skal være public, men du kan jo gøre fields i den struct private
og evt. kun lave get metoder men ingen set metoder
Avatar billede arne_v Ekspert
31. august 2005 - 12:48 #7
og begynder man at rode med den slags så ville jeg nok lave den om til en class
(gamle C programmører som mig finder det dybt forvirrende når en struct har metoder)
Avatar billede gulbaek Nybegynder
31. august 2005 - 12:53 #8
hmm, nu troede jeg lige, jeg kunne lave lidt smart kode :-/

men smidt lige et svar, så du kan få lidt point som tak for hjælpen
Avatar billede arne_v Ekspert
31. august 2005 - 12:55 #9
svar
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