Avatar billede conrad Nybegynder
29. august 2003 - 18:16 Der er 5 kommentarer og
1 løsning

structs eller klasser

Hvornår bør man bruge struct i c++? Kan man ikke altid benytte en klasse istedet?
Avatar billede arne_v Ekspert
29. august 2003 - 18:20 #1
De fungerer faktisk helt ens i C++ (borset fra et par tekniske detaljer
omkring hvad der er private/public).

Jeg bruger en konvention der hedder:
  - struct til C struct's d.v.s. rene data (all public)
  - klasser til alt andet
Avatar billede conrad Nybegynder
29. august 2003 - 18:29 #2
Skal du ikke selv allokere plads til structs
Avatar billede arne_v Ekspert
29. august 2003 - 18:31 #3
Du laver new på både structs og classes.
Avatar billede tosssen Nybegynder
30. august 2003 - 06:20 #4
Som arne_v siger, så kan structs og classes det samme. Det er dog almindelig praksis kun at benytte structs til at holde data - altså ingen metoder. Det er således en måde at gruppere flere datatyper i en på. Så snart du begynder at overveje operationer på en datatype, så bør du bruge class.

Men som sagt er de to ens hvad angår funktionalitet. Humlen ligger i at andre programmører (og dig selv) skal have nemmest muligt ved at gennemskue det design du har lavet, så det er en fordel at følge den almindelige praksis
Avatar billede olennert Nybegynder
30. august 2003 - 09:54 #5
Og så er spørgsmålet hvad der er almindelig praksis. Jeg kunne eksempelvis sagtens finde på at lave c'tor og d'tor (og måske tildelingsoperator) i en struct.
Avatar billede conrad Nybegynder
31. august 2003 - 11:10 #6
ok tak for oplysningerne
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