problem mit vererbung
-
hallo,
ich habe eine basisklasse und eine klasse, die public von ihr erbt. ich habe als test alle memberfunktionen und membervariablen in die erbende klasse reingepackt und alles klappt. ich kann per tastendruck ein objekt der erbenden klasse erstellen, also, besser gesagt, schreibe ich ein neues objekt in einen vector, so viele wie ich will und alles funtzt wie es sollte.
da ich sie aber public verbert habe, müsste die erbende klasse ja auch alle memberfunktionen und membervariablen de rbasisklasse erben und ich sie so ohne weiteres nutzen könnte. ich habe also alle memberfunktion der erbenden klasse auskommentiert, die auch in der basisklasse genauso vorhanden sind. es gibt keine fehler, ein objekt kann ich erstellen, wenn ich jedoch ein zweites erstellen will, dann meckert er, ich sehe diese fehlermeldung in der konsole, bevor das prog abbricht:
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
*** glibc detected *** corrupted double-linked list: 0x09dd75e0 ***
Abgebrochenkann mir jemand das übersetzen?
edit: hab jetzt mal getestet, wo der genau abbricht. und er bricht genau dann ab, wenn der konstruktor fertig ist. hab sogar alles aus dem konstruktr auskommentiert, und er bricht ab, weiter kommt er nicht. danach hab ich mal den konstruktor der erbenden klasse auskommentiert, was aber auch nicht geht..

ich danke euch schonmal im vorraus!
-
Irgendwie steige ich durch deine Beschreibung nicht mehr durch. Kannst du das ganze mal mit einem Beispielcode untermalen?
-
omg, ich hab jetzt noch ein bisschen probiert, und länger getestet und es bricht sogar ab, wenn ich die klasse auch ohne public vererbe. also nur class A : B
es passiert nur etwas länger, weshalb ich es nicht gleich bemerkt habe.
ich werde nochmal versuchen herauszufinden, woran es genau liegt.
kann mir jemand schon sagen, worum es in der fehlermeldung genau geht?
-
"Segmentation Fault" bedeutet, daß du irgendwo deinen RAM-Inhalt zerlegt hast und nun auf Speicherbereiche zugreifst, die dir nicht gehören.
(wie gesagt, etwas Quellcode würde es enorm erleichtern, deine Probleme einzugrenzen)
-
ich glaube, ich habe das problem gefunden. ich hatte ausversehen ein array als membervariable und da hatte ich ausversehen 2 anstatt 3 felder angegeben. nachdem ich das geändert hatte, ging das, also ich hab bestimmt 30 objekte erstellt und alles ging gut.
falls das problem doch noch weiterhn besteht, werde ich mich melden und auch codeausschnitte geben!
aber trotzdem danke für die bemühungen!