|
| struct og class forskel Fra : Jesper Gødvad |
Dato : 17-08-01 17:09 |
|
Hej Alle
Er det rigtigt forstået at forskellen mellem struct og class alene er
default scopet og at struct kun eksisterer i C++ for at bevare nogen grad af
kompatibilitet med C?
Hvis det er korrekt forstået kan man så udlede at man kun bør benytte en
struct i C++ hvis alle members er public (da det ellers ikke giver mening at
have begge)?
mvh. jesper
| |
Mogens Hansen (17-08-2001)
| Kommentar Fra : Mogens Hansen |
Dato : 17-08-01 19:36 |
|
"Jesper Gødvad" <Xesper@goedvad.dk> wrote in message
news:9ljfbc$8bu$1@sunsite.dk...
>
> Er det rigtigt forstået at forskellen mellem struct og class alene er
> default scopet og at struct kun eksisterer i C++ for at bevare nogen grad
af
> kompatibilitet med C?
Det er rigtigt at den _eneste_ forskel mellem struct og class er default
visibility (private for class og public for struct).
Jeg opfatter det ikke udelukkende som at det er for at bevare kompatibilitet
med C.
Det er også for at bevare opfattelsen af at en class kan være effektiv
(f.eks. ikke tvunget til at have virtuelle metoder).
Se eventuelt "The Design and Evolution of C++" (D&E), Bjarne Stroustrup,
ISBN 0-201-54330-3, side 76. Det er i øvrigt en god bog.
Der er et begreb i C++, der hedder Plain Old Data (POD), som dækker over en
structur som er kompatibel med C.
Det er iøvrigt interessant at der er en stor forskel mellem struct og class
i C#
>
> Hvis det er korrekt forstået kan man så udlede at man kun bør benytte en
> struct i C++ hvis alle members er public (da det ellers ikke giver mening
at
> have begge)?
Nej, egentlig ikke.
Venlig hilsen
Mogens Hansen
| |
Jesper Gødvad (17-08-2001)
| Kommentar Fra : Jesper Gødvad |
Dato : 17-08-01 20:53 |
|
"Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
news:9ljntq$207q$1@news.cybercity.dk...
Hej Mogens - tak for svaret
> Der er et begreb i C++, der hedder Plain Old Data (POD), som dækker over
en
> structur som er kompatibel med C.
>
> Det er iøvrigt interessant at der er en stor forskel mellem struct og
class
> i C#
Hvis der er stor forskel på C# og definationerne i Standard Library bliver
C# så ikke en proporitær standard som VB? Men det er måske meningen?
mvh. jesper
| |
Mogens Hansen (17-08-2001)
| Kommentar Fra : Mogens Hansen |
Dato : 17-08-01 22:33 |
|
"Jesper Gødvad" <Xesper@goedvad.dk> wrote in message
news:9ljsfn$g3j$1@sunsite.dk...
>
> "Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
> news:9ljntq$207q$1@news.cybercity.dk...
>
> >
> > Det er iøvrigt interessant at der er en stor forskel mellem struct og
> class
> > i C#
>
> Hvis der er stor forskel på C# og definationerne i Standard Library bliver
> C# så ikke en proporitær standard som VB? Men det er måske meningen?
Hvis du med Standard Library mener C++ Standard Library, så har C# absolut
_intet_ med Standard Library at gøre.
Jo, jeg kan ikke se andet end at C# er lige so proporitært som VB - det er
formodentligt meningen.
Det er et spørgsmål om at have kontrollen, og _hvem_ der har kontrollen -
ellers ville Java være tæt på præcis lige så godt.
Venlig hilsen
Mogens Hansen
| |
|
|