public: [Elementliste] public basisklasseDas Schlüsselwort public wird auf zwei unterschiedliche Arten verwendet:
Wenn eine Definition überhaupt keinen Zugriffs-Spezifizierer enthält,
setzt der Compiler bei Klassen private als Standardvorgabe ein,
bei Strukturen und Unions ist die Standardvorgabe dagegen public.
Analoges gilt für die Liste der Basisklassen:
Wenn hier ein Zugriffs-Spezifizierer fehlt, geht der Compiler bei
Klassendefinitionen von private, bei Strukturdefinitionen dagegen von
public aus. (Unions können nicht auf anderen Klassen aufbauen.)
Beispiel:
class BaseClass
{
public:
int pubFunc();
};
class DerivedClass : public BaseClass
{
};
void main(void)
{
BaseClass aBase;
DerivedClass aDerived;
// pubFunc() ist als public deklariert und deshalb auch ausserhalb der
// Basisklasse verfuegbar
aBase.pubFunc();
// Da die Funktion als public uebernommen wurde, steht sie auch in
// der abgeleiteten Klasse zur Verfuegung
aDerived.pubFunc();
}