R
Was ist daran falsch? Mein Prinzip dabei ist: Versuch - Irrtum...
Es gibt mehrere arten von Fehlern, aber im groben kann man die in 2 gruppen einteilen:
- man macht ihn, und der compiler / oder spaetestens die runtime (beta tester / quality managment) wirft einen den Dreck um die ohren ^^
- man macht ihn, und lange zeit geht es gut. Man gewoehnt sich gewisse dinge an ... irgendwann wundert man sich, das alles immer komplizierter wird, die klassen nicht mehr genrisch und kompatibel zu anderen sind, minimalste aenderung eigentlich schon zu nem kompletten redesign fuehren welches nur mit ganz schlechten kruecken zu verhindern ist.
- Fehler die nie auftauchen, nie einen effekt haben, sind auch keine fehler ^^
Fehler 1 sind die guten, die sieht man.
Fehler 2 sind die ganz poesen ^^ die kosten unserer wirtschaft millionen.
Fehler 2 ist nicht immer nur unwissen, fehler 2 ist oefters eigentlich nur angewohnheit.
das Prinzip der Vererbung
ist eben nicht nur das mans kann, sondern eben die nebeneffkte usw beherscht.
Eigentlich habe ich mir gedacht, dass das sooo einfach ist
die regeln nach der der compiler vorgeht sind einfach, sehr einfach ^^
wie man richtig damit umgeht ist das komplizierte
schon habe ich alle Eigenschaften der Basis-Klasse.
oftmals liegt das Problem im detail ... dein "Fehler" war eigentlich nur:
Du wolltest eine Liste von Klassen, hasst aber eine Liste von Liste genommen.
Klasse * InsertNew(); und Liste * InsertNew(); sind eben nicht das selbe, also keine gemeinsamen eigenschaften. und selbst wenn:
Code wiederverwenden in dem man ne andere klasse die schon fertig ist, nutzt, ist Domaene der Aggregation ("ist implementiert mit").
der beruehmte satz eines Autors der versucht bisserl design in die c++ welt zu bringen ist :
Vererbe niemals um wiederzuverwenden, sondern nur um wiederverwendet zu werden !
Zu deutsch:
nicht vererben weil man sich das neuschreiben der Methoden sparen will (soll man auch ned, aber dazu siehe oben) sondern nur wenn sich dein objekt wie ein anderes verhalten soll.
Schnittstellenprinzip ... allgemeine verhaltensregeln definieren, komplett unterschiedliche objekte die sich nach den regeln verhalten, erzeugen, beliebig austauschen, das ist polymorphie ....
muß ich mich wohl doch mit Templates beschäftigen
frueher oder spaeter schon ^^ aber das kannst nach hinten verschieben ... das thema ist noch ... "boeser".
Mein Prinzip dabei ist: Versuch - Irrtum...
Ja ist ja auch ok.
wir helfen Dir ja auch nur besonders die Fehler 2 zu erkennen und deren Signaturen zu deuten ^^
Ciao ...