Thread View: de.comp.lang.c++
5 messages
5 total messages
Started by Tim Weilkiens
Fri, 08 Dec 1995 11:34
struct oder class
Author: Tim Weilkiens
Date: Fri, 08 Dec 1995 11:34
Date: Fri, 08 Dec 1995 11:34
11 lines
676 bytes
676 bytes
Hallo !!!! Jedesmal wenn ich ein objektorientiertes Programm schreibe, stehe ich vor dem Problem, ob ich statt eines struct Datentyps eine Klasse einfuehren soll. Gibt es da irgendwelche Richtlinien ??? Vielen Dank fuer jede Antwort. Tim
Re: struct oder class
Author: Dietmar Kuehl
Date: Fri, 08 Dec 1995 12:59
Date: Fri, 08 Dec 1995 12:59
22 lines
1489 bytes
1489 bytes
Hi, Tim Weilkiens (tim-w@pz-oekosys.uni-kiel.d400.de) wrote: : Jedesmal wenn ich ein objektorientiertes Programm schreibe, stehe : ich vor dem Problem, ob ich statt eines struct Datentyps eine Klasse : einfuehren soll. Grundsaetzlich gibt es zwischen einem 'struct' und einer 'class' nur einen Unterschied: Der default fuer den Zugriff auf die Member ist bei einem 'struct' 'public' und bei einer 'class' 'private'. Daher ist es eigentlich egal, ob ein 'struct' oder eine 'class' verwendet wird. : Gibt es da irgendwelche Richtlinien ??? Als Richtlinien fuer Klassen (und 'struct's!) gilt in objekt orientierten Programmen, dass sie eine Abstraktion darstellen sollen und ihre Implementation nicht zugreifbar haben (Encapsulation). Ob man das durch ein 'struct' modeliert oder durch eine 'class' macht keinen Unterschied. -- dietmar.kuehl@uni-konstanz.de http://www.informatik.uni-konstanz.de/~kuehl I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: struct oder class
Author: Kurt Watzka
Date: Fri, 08 Dec 1995 14:43
Date: Fri, 08 Dec 1995 14:43
36 lines
1437 bytes
1437 bytes
tim-w@pz-oekosys.uni-kiel.d400.de (Tim Weilkiens) writes:
>Hallo !!!!
>Jedesmal wenn ich ein objektorientiertes Programm schreibe, stehe
>ich vor dem Problem, ob ich statt eines struct Datentyps eine Klasse
>einfuehren soll.
Faustregel: Wenn alle Instanzvariablen oder Elementfunktionen public
sein sollen, dann ist es eine "struct", andernfalls eine "class". Es
gibt keinen Unterschied zwischen "sturct" und "class", ausser dass
bei einer "class" alle Elemente per default "private" sind, waehrend
sie bei einer "struct" "public" sind.
Also:
class foo {
public:
foo(int bar=42, double baz = 3.141506) : m_bar(bar), m_baz(baz) {}
int m_bar;
double m_baz;
};
hat keine andere Bedeutung als
struct foo {
foo(int bar=42, double baz = 3.141506) : m_bar(bar), m_baz(baz) {}
int m_bar;
double m_baz;
};
Kurt
--
| Kurt Watzka Phone : +49-89-2180-6254
| watzka@stat.uni-muenchen.de
| ua302aa@sunmail.lrz-muenchen.de
Re: struct oder class
Author: Enno Sandner
Date: Fri, 08 Dec 1995 15:20
Date: Fri, 08 Dec 1995 15:20
14 lines
1189 bytes
1189 bytes
In article <4a97ri$nd9@solid.theo-physik.uni-kiel.de> tim-w@pz-oekosys.uni-kiel.d400.de (Tim Weilkiens) writes: Jedesmal wenn ich ein objektorientiertes Programm schreibe, stehe ich vor dem Problem, ob ich statt eines struct Datentyps eine Klasse einfuehren soll. Gibt es da irgendwelche Richtlinien ??? Sind mir nicht bekannt. Ich verwende struct's auschliesslich fuer Klassen bei denen alle Members oeffentlich sind, die keine pure-virtual Member-Functions enthalten und die keine mit 'class' deklararierte Klasse als Basisklasse haben. Das Ganze ist allerdings reine Geschmackssache. Enno
Re: struct oder class
Author: Michael Voigt
Date: Wed, 13 Dec 1995 12:49
Date: Wed, 13 Dec 1995 12:49
23 lines
1362 bytes
1362 bytes
Hallo C-Welt
Am Mittwoch, den 13.12.95 schrieb W.DEHMEL@LINK-R.de folgendes:
> >
> > Jedesmal wenn ich ein objektorientiertes Programm schreibe, stehe
> > ich vor dem Problem, ob ich statt eines struct Datentyps eine Klasse
> > einfuehren soll.
>
> struct: wenn nur Daten drinnen sind.
> class: wenn neben den Daten auch Funktionen drinnen sind.
Unter Umstรคnden verwende ich auch manchmal struct, wenn nur Kon- und
Destruktoren auftreten, welche die in der Struktur auftretenden Daten
verwalten (z.B. ByteArray erstellen und wieder freigeben).
Wenn man aber "total" sauber programmieren will, dann sollte man sich
meiner Meinung nach voll an Deinen Vorschlag halten.
Michael Voigt
e-mail: michael@amicon.sax.east.de
michael@sem.lipsia.de
URL: http://www.lipsia.de/~michael
PGP-key available
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads