001
20.07.2004, 16:18 Uhr
Bruder Leif
dances with systems (Operator)
|
Moin!
Kommt drauf an, was Du beim Ableiten der Klasse angibst. Beispiel aus der MSDN:
C++: |
#include <iostream.h>
class X { public: void setProtMemb( int i ) { m_protMemb = i; } void Display() { cout << m_protMemb << endl; } protected: int m_protMemb; void Protfunc() { cout << "\nAccess allowed\n"; } } x;
class Y : public X { public: void useProtfunc() { Protfunc(); } } y;
void main() { // x.m_protMemb; error, m_protMemb is protected x.setProtMemb( 0 ); // OK, uses public access function x.Display(); y.setProtMemb( 5 ); // OK, uses public access function y.Display(); // x.Protfunc(); error, Protfunc() is protected y.useProtfunc(); // OK, uses public access function // in derived class }
|
Wenn Du statt in der Definition von Y "protected X" schreibst, werden alle abgeleiteten public-Member automatisch protected; schreibst Du "private X", wird alles private. -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. |