Vererbung
-
aha drakon.
Es gehn tatsächlich alle aufrufe nicht.
Leider hab ich bis heute nicht verstanden was protected Vererbung
von private Vererbung unterscheiden soll
-
virtual void function() = 0;Das hier ist doch nur eine Deklaration , schließlich fehlen die {} klammern

-
sorry nochmal
natürlich hätte es oben so heissen solln
objekt.funktion1(); objekt.funktion2(); objekt.funktion3();
-
blurry254 schrieb:
Leider hab ich bis heute nicht verstanden was protected Vererbung
von private Vererbung unterscheiden soll
Ganz einfach. Wenn du privat erbst, dann kann, wenn du erneut eine Klasse ableitest (also dann die dritte) auf keine public und privat Funktionen zugreifen. Bei protected schon. (Nach aussen ist aber, wie du siehst privat)
-
Es ist doch egal ob ich protected oder private vererbe,
in beiden Fällen hat eine Instanz keinerlei Zugriff mehr
-
class y:protected x{}; class z:public y{};die Klasse z kann jetzt nicht mehr auf Klasse x Elemente zugreifen ???
-
Keiner mehr da ?
-
Du hast 3 Möglichkeiten.
1. Du fragst hier jedes Detail nach und bekommst irgendwann keine Antwort mehr oder
2. Du liest es in einem Buch oder Online nach oder
3. Du probierst es einfach mal ausIch persönlich mag Variante 1 nicht. 2 und 3 sind aber schon sehr gut und können wahrscheinlich die meisten Fragen beantworten.
-
class x{ public: void funktion1(){}; protected:void funktion2(){}; private: void funktion3(){}; }; class y:protected x{ public: void foo(){ funktion2(); } }; class z:public y{ public: void foo(){funktion2();} };Es kommt kein Fehler , sry ich verstehs einfach nicht
-
ahhhhhhhh
bei protected geht es ja , aber nicht bei private
Klar dass kein Fehler kam .