Oh Mann, das Wort wollte ich jetzt gar nicht hören. Ich glaube ich poste lieber keine Fragen mehr.
Hey, so war das ned gemeint, sorry ... eher positiv
Viele Andere machen diese "Fehler" auch.
Und, es ist ein Designfehler. Also ein fehler dessen der Code trotzdem funktioniert (wahrscheinlich), und von vielen deshalb ned als "Fehler" wahrgenommen wird.
Ich mein, wir koennen Dir hier viel erzaehlen, aber eigentlich lernt man am besten doch aus Schmerz

Und um obiges Problem mal richtig am eigenen Leib gespuert zu haben, muss man sich halt doch mal voll in einer aufgeblassenen Objecthirarchie voll verzettelt haben.
Mir gings eh genau so ... Nebenwirkungen ? ach was ! ^^ Naja wenn man mal klassen hat von der untersten ebene bis zur basis ueber 10 elemente, und eine kleinere aenderung einen den Schweiss auf die Stirn treibt .... dann iss man soweit ^^
Ich würde sogar noch weiter gehen und Vererbung als einen Trick definieren, Code zu sparen.
Genau das mein ich. In der Praxis sieht es halt gegenteilig aus. Verwendest du Polymorphie, hasst meisst scho mit Dir gerungen und Aufwand in kauf genommen um eine "Saubere" Schnittstelle zu definieren.
Für die Polymorphie sind z.B. abstrakte Basisklassen besser
ja und auch nur dann sollte man Ploymorphie verwenden. Schnittstellen und Polymorphie sollte man wirklich nur im Zusammenhang haben.
Und abstrakt ist sollt man nicht ganz so zwingend sehen. Abstrakt ist eigentlich die natürlichere Form. Es gibt aber noch so themen wie Dafeaultimplementationen .... die eine Abweichung von der 100%igen Abstrakten Basisklasse sinnvoll werden lassen. Und allzuoft lebt man nicht in einer perfekten OOP C++ welt, da muss man auch abstriche machen. (beispiel: private vererbung)
Nachsicht ist hier gefragt.
Haben wir doch eigentlich .... Wenn alle perfekt c++ koennten, gaeb es dieses Forum sicher nicht
Lass dich nicht abschrecken wenn einiges "bisschen hart" klingt. Jeder hier iss nur Mensch, vieles ist anders gemeint ... und ab und an will man mit etwas Übertreibung auch vielleicht was Gutes erreichen ...
Aus Java habe ich die Interfaces schätzen gelernt,
Ich denk mal, grad umsattler aus anderen Sprachen haben es Designtechnisch besonders schwer.
Sprachlich hat c++ gegenueber Java 2 Riesen nachteile: Es muss compatibel zu C sein, und es muss hardwarenah / performant ( im sinne, man muss kosten vorher abschaetzen koennen) sein.
Das engt die Sprachmoeglichkeiten von C++ von haus aus ein.
C++ hat wenig Sprache(im sinne von Schlüsselwörter) es hat wenig Regeln (im Sinne von: da macht der compiler ned mit) aber viel viel Design

m Sinne von: Es geht schon, aber "schoen" iss es nicht)
C++ hat seinen eigenen Style. Eleganz und Sauberkeit also "Schoenheit" von C++ code, dafuer muss man erst einen Sinn entwickeln ... von Aussenstehenden beurteilt wird es gegenueber Java z.b. immer den kürzeren ziehen.
Ciao ...