@DATABASE CXX-Tutor.guide
@SMARTWRAP
@TAB 4

@node Main "Konstanter"

	@{b}Hvad er konstanter@{ub}

	Konstanter kan ikke tildeles nogen værdi da de er konstante.
Derudover kan de bruges som almindelige variabler til at regne med, og som del i logiske udtryk.
En god regel er at skrive sine konstanter med store bogstaver, så man kan skælne dem fra variabler.
Her er nogle eksempler på konstanter :

@{CODE}
const char			ASCII_S	= 'S';
const double		PI				= 3.14159;
const int			BREDDE	= 10;
const char*			VERSION	= "$VER: WinX version 1.0"
@{BODY}

	@{b}Hvad bruges konstanter til@{ub}

	Konstanter bruges i tilfælde hvor man skal bruge en værdi, som forbliver den samme igennem hele programmet, men som man vil have muligheden for at korrigere på et senere tidspunkt.
Det smarte består i at hvis man får brug for at ændre en værdi som man har defineret som en konstant, så behøver man kun at ændre programmet et sted, nelig i konstant-definitionen istedet for at skulle rette alle steder hvor konstanten opstår (efter man først har fundet dem).
Derudover giver konstanter mulighed for at gøre programmet mere læseligt, eksempelvis ved at bruge navnet PI istedet for 3.14159.
Lad os tage et eksempel:

@{CODE}
const char	MENU_LOAD	= 'l';
const char	MENU_SAVE	= 's';
const char	MENU_QUIT	= 'q';
char		valg;

cout << "Vælg et menupunkt" << endl;
cout << "(L)oad" << endl;
cout << "(S)ave" << endl;
cout << "(Q)uit" << endl;

cin  >> valg;
switch (valg)
{
     case MENU_LOAD:
     cout << "LOADING" << endl;
     break;

     case MENU_SAVE:
     cout << "SAVING" << endl;
     break;

     case MENU_QUIT:
     cout << "QUITING" << endl;
     break;
}
@{BODY}

@endnode
