001
16.09.2008, 18:13 Uhr
0xdeadbeef
Gott (Operator)
|
public, protected und private bestimmen die Sichtbarkeit einer Methode, nicht, was die Methode selbst macht. public bedeutet, dass jeder darauf zugreifen darf, private, dass es nur die Klasse selbst darf. protected bedeutet, dass nur die Klasse und von ihr abgeleitete Klassen darauf zugreifen dürfen. Konkret:
C++: |
class foo { public: void pub();
protected: void prot();
private: void priv(); };
class bar : public foo { public: void baz() { pub(); // OK, jeder darf darauf zugreifen prot(); // OK, bar ist von foo abgeleitet priv(); // nicht OK, nur foo darf auf priv zugreifen. } };
int main() { foo f; f.pub(); // OK, jeder darf darauf zugreifen f.prot(); // nicht OK, Zugriff nur aus foo und abgeleiteten Klassen f.priv(); // nicht OK, Zugriff nur aus foo. }
|
...ist das so klarer? -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |