Så idag har varit en intressant dag, har börjat testa arv i c++ och det finns mycket man inte kan och man hittar ständigt nya saker som man både kan och inte kan göra. Som “pure virtual functions“, om man vill läsa om dem så rekommenderar jag denna länken: http://www.learncpp.com/cpp-tutorial/126-pure-virtual-functions-abstract-base-classes-and-interface-classes/
Hursomhelst så har jag stött på ett problem idag när jag jobbade på en “EntityManager“, som skulle hålla en vector med “Entity” pekare. Där Entity är basklassen för alla objekt som finns i spelet, och för att simulera att jag lyckades skapa två olika sorters objekt, “WaterEnemyObject” och “FireEnemyObject“, så tänkte jag rita ut en cirkel med vardera och låta dem ha olika färg. Men med det sistnämnda så går något snett.
När jag försöker debugga så får jag ett “Access violation error“
Sen när jag kollar på “shape”s attributer så märker jag att man ser “Drawable” som ser mystiskt tom ut.
Och för att ge ett context så skapas shape i “Entity” klassen, som man ser i bildens högra del, och sedan ska “shape” få sina egenskaper i de olika objektens “Init()” metod.
Programmet kör utmärkt om man tar bort shape och allt som har med shape att göra (förutom det som står i Entity.h), detta är testat genom att kommentera bort allt och sedan printa ut olika objektens olika x värde.
Någon som har någon lösning på detta eller har bra länk till arv?
Tackar på förhand för all hjälp man kan få och hoppas ni har en bra dag!