Avatar billede narrr Nybegynder
03. juni 2003 - 18:12 Der er 9 kommentarer og
1 løsning

Statiske funktioner

Hvorfor laver man egentlig statiske funktioner?
Avatar billede arne_v Ekspert
03. juni 2003 - 18:42 #1
En statisk funktion er en funktion som kun er kendt i det pågældende modul.

Og det er en glimrende måde at undgå at forurene namespace på.
Avatar billede arne_v Ekspert
03. juni 2003 - 18:50 #2
Hvis du nu har en funktion calc som du kun skal bruge i det modul,
så er det godt at lave den static, fordi så kan andre også lave en calc uden
at det giver link fejl.
Avatar billede arne_v Ekspert
03. juni 2003 - 18:51 #3
Jeg har tilladt mig at antage at du snakke rom statiske funktioner
i C (eller C++) og ikke om statiske metoder i C++. De sidste er
nemlig noget helt andet (metoder der kalde på klassen i.s.f.
på objekter).
Avatar billede narrr Nybegynder
03. juni 2003 - 18:59 #4
Hvad mener du med modul?
Avatar billede narrr Nybegynder
03. juni 2003 - 19:00 #5
Og vil du forklare statiske metoder også?
Avatar billede arne_v Ekspert
03. juni 2003 - 19:02 #6
modul = .C fil
Avatar billede arne_v Ekspert
03. juni 2003 - 19:04 #7
Hvis du har en klasse C og et objekt O og en ikke statisk metode ISM
og en statisk metode SM så kalder du altid den ikke statistiske
metode som:
  O.ISM()
men du kan kalde den statiske metode som:
  C.SM()

Den kan så selvfølgelig ikke bruge nogle af members i klassen.

Den bruges i en hel del patterns f.eks. Singleton.
Avatar billede narrr Nybegynder
03. juni 2003 - 19:07 #8
Okay, men hvad kan man få ud af det? Og er det den eneste forskel?
Avatar billede arne_v Ekspert
03. juni 2003 - 19:19 #9
Jeg fomoder at vi er tilbage ved statiske funktioner.

Ja det er fordelen ved det. Ved store projekter er det skam
også vigtigt.

Hvis du snakke rom statiske metoder, så er der meget meget stor
forskel på ikek statiske og statiske metoder og hvordan de bruges.

Singleton pattern er nok en god illustration.
Avatar billede narrr Nybegynder
03. juni 2003 - 21:07 #10
Ok, jeg læser en tutorial om static methods.
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