ik heb in c++ een klasse Boom. daarin zit een methode die VindBlad heet en een pointer teruggeeft naar een object Blaad wat aan de Boom zit. De leaves zitten mooi in vectoren, VindBlad geeft een pointer terug zodat ik door middel van pointer_naar_blad->VoegBladToe en
pointer_naar_blad->VerwijderBlad eenvoudig de boom kan manipuleren. Dit werkt allemaal goed, er is alleen een probleem:
als ik aan de boom zelf een blad wil hangen, zal in de methode VoegBladToe van Boom (die net even anders is dan die van Blad) gecheckt moeten worden of de pointer die VindBlad geeft naar Boom verwijst. Op zich is het heel eenvoudig om via een aparte methode de pointer naar Boom door te geven zodat ik in de boom die pointer kan initialiseren. Ook dit werkt prima, alleen is het lelijk en moet je dus na het creeren van je boom die functie aanroepen, wat ik natuurlijk ergens in mijn code ga vergeten. Dus eigenlijk wil ik in de constructor die pointer naar de boom zelf al initialiseren. Nou is alleen het probleem dat ik geen idee heb hoe ik dit klaar moet spelen. Kan iemand mij die juiste richting wijzen?
pointer_naar_blad->VerwijderBlad eenvoudig de boom kan manipuleren. Dit werkt allemaal goed, er is alleen een probleem:
als ik aan de boom zelf een blad wil hangen, zal in de methode VoegBladToe van Boom (die net even anders is dan die van Blad) gecheckt moeten worden of de pointer die VindBlad geeft naar Boom verwijst. Op zich is het heel eenvoudig om via een aparte methode de pointer naar Boom door te geven zodat ik in de boom die pointer kan initialiseren. Ook dit werkt prima, alleen is het lelijk en moet je dus na het creeren van je boom die functie aanroepen, wat ik natuurlijk ergens in mijn code ga vergeten. Dus eigenlijk wil ik in de constructor die pointer naar de boom zelf al initialiseren. Nou is alleen het probleem dat ik geen idee heb hoe ik dit klaar moet spelen. Kan iemand mij die juiste richting wijzen?