Okay, ik ben nieuw in het c++ programmeren en ik zit met een behoorlijke noob vraag. Ik ben bezig met een soort stand-alone winamp plugin, een progje wat dus beelden genereert aan de hand van de muziek die je afspeelt. Nou heb ik een aantal "vormen" gedefinieerd, zoals cirkel, golfvorm en driehoek. Deze klassen zijn allemaal afgeleid van de hoofdklasse Vorm en ze hebben allemaal de methode Draw() (een overloaded functie die ook al in de in de klasse Vorm voorkomt.)
het probleem is dat ik van te voren niet weet welke vormen er gebruikt gaan worden, en ook niet in welke aantallen. Ik heb al een aantal opties geprobeerd:
- ik kan een vector <Vorm> Vormen maken en daar verschillende vormen door elkaar heen in schuiven. Alleen, als ik dan de array Vormen doorloop en voor ieder object de Draw() methode aanroep dan word de Draw() van Vorm gebruikt in plaats van bijvoorbeeld VormCirkel of VormDriehoek
- ik heb geprobeerd van Vorm een template te maken met een embedded object wat dan zou bepalen of het een Cirkel dan wel een Driehoek is. Dit werkt, alleen dan kan ik ze weer niet in één vector kwijt aangezien die dan als vector <Vorm <VormCirkel>> Vormen gedefinieerd moet worden. en dat is dus niet de bedoeling want ik wil als het kan door een array heenlopen en daar voor ieder object de overloaded Draw() aanroepen (dus de draw van VormCirkel/VormDriehoek ipv de draw van Vorm).
Goed, ik heb thuis even geen internet dus ik tik dit van mijn werk maar ik hoop dat ondanks het ontbreken van stukjes code enigzins te volgen is. is wat ik wil mogelijk of zit ik helemaal op het verkeerde pad? ik heb namelijk weinig zin om een "boekhoud" klasse te maken die bijhoud wat voor type vormen er gebruikt worden.
het probleem is dat ik van te voren niet weet welke vormen er gebruikt gaan worden, en ook niet in welke aantallen. Ik heb al een aantal opties geprobeerd:
- ik kan een vector <Vorm> Vormen maken en daar verschillende vormen door elkaar heen in schuiven. Alleen, als ik dan de array Vormen doorloop en voor ieder object de Draw() methode aanroep dan word de Draw() van Vorm gebruikt in plaats van bijvoorbeeld VormCirkel of VormDriehoek
- ik heb geprobeerd van Vorm een template te maken met een embedded object wat dan zou bepalen of het een Cirkel dan wel een Driehoek is. Dit werkt, alleen dan kan ik ze weer niet in één vector kwijt aangezien die dan als vector <Vorm <VormCirkel>> Vormen gedefinieerd moet worden. en dat is dus niet de bedoeling want ik wil als het kan door een array heenlopen en daar voor ieder object de overloaded Draw() aanroepen (dus de draw van VormCirkel/VormDriehoek ipv de draw van Vorm).
Goed, ik heb thuis even geen internet dus ik tik dit van mijn werk maar ik hoop dat ondanks het ontbreken van stukjes code enigzins te volgen is. is wat ik wil mogelijk of zit ik helemaal op het verkeerde pad? ik heb namelijk weinig zin om een "boekhoud" klasse te maken die bijhoud wat voor type vormen er gebruikt worden.