frage zu Protected??
-
angenommen:
class A{ class B{ protected: DATA } }kann ich nun DATA nur in der klasse A und B verwenden und wenn ich irgendwo anders A::B o; machen würde kann ich mit o nicht auf DATA zugreifen!! hab ich das so richtig verstanden??
-
protected verhällt sich wie private solange keine Vererbung im Spiel ist. In diesem Fall wird ein A::B objekt nicht darauf zugreifen können.
Und ich sollte mir mal in die sig einfügen, dass meine Antworten aktuell nur Anfängerantworten sind und mit entsprechender Vorsicht zu genießen sind...
-
jede hilfe ist recht.. als anfänger hat mal solche theoretische fragen noch drauf.. aber ich bin voll praktiker hab schon lang keiner bücher mehr gelesen.. und weis solche sachen als gar nich mehr genau und frag dann lieber noch mal nach:)
-
BorisDieKlinge schrieb:
kann ich nun DATA nur in der klasse A und B verwenden und wenn ich irgendwo anders A::B o; machen würde kann ich mit o nicht auf DATA zugreifen!! hab ich das so richtig verstanden??
Naja, nicht ganz.
AundBsind völlig unabhängig voneinander. Das protected bezieht sich, wie Shinja schon gesagt hat, auf die Vererbung, sprich:class A { protected: int protected_var_; private: int private_var_; }; class B : public A { void test( int foo ) { protected_var_ = foo; // ok private_var_ = foo; // geht nicht } };