Avatar billede krismort Nybegynder
09. januar 2002 - 17:14 Der er 4 kommentarer og
1 løsning

ATL og enum typer / klasser?

I VB kan man lave en type deklareres således:
public enum Retning
  Venstre = 1
  Højre = 2
  Op = 3
  Ned = 4
end enum

Hvis opretter en funktion som:
function UdregnFor(retn as retning) as integer
end function

så dukker der aftomatisk en liste over de 4 valgmuligheder frem når man kalder funktionen.

Er der en som ved hvordan man kan lave det samme for en funktion for et ATL objekt ?

-

Kristian Mortensen
Avatar billede chries Nybegynder
09. januar 2002 - 17:16 #1
enum Retning
{
  venstre = 1,
  op = 2
};

?
Avatar billede jpk Nybegynder
09. januar 2002 - 17:17 #2
typedef enum {Venstre=1, Hoejre, Op, Ned} Retning;

Avatar billede chries Nybegynder
09. januar 2002 - 17:17 #3
tror ikke jeg forstod det rigtigt,glem det =)
Avatar billede soepro Nybegynder
10. januar 2002 - 13:28 #4
enum findes også for C, og den opfører sig som en int. Normalt tildeles første enum værdien 1, næste værdien 2 osv. - men man kan overstyre den enkelte enum\'s integer:

  enum eTal {en=1, to=2, fire=4, otte=8, seksten=16, toogtredive=32} aTal;

hvis man lave følgende loop:

  for (aTal = en; aTal < toogtredive; aTal++)
    printf(\"%d\\n\", aTal);

får man udskriften:

1
2
4
8
16
32

men loopet er altså kun kørt 5 gange. Mht. pop-up menuen over valgmuligheder, hænger det sammen med om din compiler/IDE understøtter code-completion. I C++ Builder kaldes det CodeInsight og skal være slået til for at pop-up menuen med dine muligheder kommer frem. (Sådan som man også kender det fra f.eks. JBuilder til JAVA.)
Avatar billede soepro Nybegynder
10. januar 2002 - 13:33 #5
Sorry - udskriften er selvfølgelig tallene 0-31 i ovenstående enum, mens det er:

0
1
2
3
4

hvis nedenstående enum fyres:

enum eTal {en, to, fire, otte, seksten, toogtredive} aTal;
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