[C++] Verständnisfrage zu Klassen

janosch

Erfahrenes Mitglied
HI !

Ich habe da mal ein Frage zu Klassen bei C++. In der Klasse gibt es ja mehrere „Sektionen“ einmal Privat und dann noch Public. Soweit ich weiß heißt Privat das die Angaben in der Privat Sektion nur der Klasse selbst zugänglich ist wobei die Angaben in der Public Sektion im gesamten Programm nutzbar sind. Soweit die Theorie aber wie sieht das in der Praxis aus?

Könnte mir vielleicht jemand ein kleinen Beispielcode zeigen was das eigentlich genau heißt sprich was ist Public und was ist Privat erklärt an einem Code schnitbsel wie es geht bzw. wie es nicht geht?


mfg janosch
 
public heisst einfach, dass jedes objekt und jede funktion im gesamten programm auf diese felder der klasse zugreifen kann, während private dazu da ist, um felder nur der klasse selbst zur verfügung zu stellen.
in der praxis sieht das dann beispielsweise so aus, dass man die feldvariablen der klasse nicht öffentlich deklariert, so dass diese nur von der klasse selbst geändert werden können. anstelle der variable wird dann eine funktion veröffentlicht, die den wert dann ändert:

Code:
class Klasse
{
public:
    void WertAendern(int NeuerWert);
private:
    int Wert;
};

void Klasse::WertAendern(int NeuerWert)
{
    Wert = NeuerWert;
}
 
wirklich viel gibts ja eigentlich net mehr zum hinzufuegen, aber protected habt ihr ganz vergessen ;)

protected ist aehnlich dem keyword private, der einzige unterschied besteht darin, das auch sub-klassen darauf zugriff haben (private wirklich nur die eine klasse)
 
eine sache fehlt noch: bei der verwendung von c++ zusammen mit der vcl (im borland c++ builder) gibt es auch noch eine sektion namens "published". die unterscheidet sich allerdings kaum von dem normalen public-abschnitt, ist aber eigentlich ausschliesslich für die steuerelemente auf einem formular und deren ereignisse gedacht.
 

Neue Beiträge

Zurück