Warum kann eine abgeleitete Klasse nicht über einen Zeiger auf base auf ein geschütztes Mitglied ihrer Basisklasse zugreifen?
Dies ist dasCod:
class TestA
{
protected:
int test=12;
public:
TestA() {
cout << "test a: " << test << endl;
}
~TestA() {
}
};
class TestB : public TestA
{
public:
TestB(TestA *testA) {
cout << "test b: " << testA->test;
}
~TestB() {
}
};
int main ()
{
TestA *pTestA=new TestA();
TestB *pTestB=new TestB(pTestA);
}
Ich versuche auf ein @ zuzugreifprotected
member mit einem Zeiger auf einTestA
type object (also eine Instanz vonTestA
).TestB
wird auch von @ abgeleitTestA
Warum kann ich nicht darauf zugreifen? Ist es nur "innerhalb" der Klasse zugänglich, in der ich es brauche? Nicht außerhalb mit Zeiger / Direktdeklarationen?