/\quila
Legacy Member
Hoi,
Ik zit met een vrij basis probleem ivm klasses en subklasses, even de situatieschets.
Ik definieer:
1 hoofdklasse Gebouw; 3 Gebouw-subklasses Burcht, Kazerne en Boerderij.
In Gebouw steek ik de gemeenschappelijke atributen, in de subklasses de andere atributen.
Zo een gemeenschappelijk atribuut is bv de int Level. De Burcht moet het level van de andere twee gebouwen en zichzelf kunnen aanpassen. Daarvoor dacht ik binnen Burcht een functie aan te maken als volgt:
Upgrade( Gebouw UpgradeGebouw, int LevelsOmhoog, String^ Tijdstip )
De compiler protesteert nu als ik
Upgrade( Kazerne1, 2, "12:45" )
doorgeef. (cannot convert parameter 1 from 'Layout::Kazerne' to 'Layout::Gebouw')
Ik had gehoopt dat dit wel mogelijk ging zijn, vermits ik binnen de functie enkel aan de Gebouw attributen van Kazerne en aan de Burcht attributen zelf aanpassingen doe.
Ik had de functie ook liefst binnen Burcht gehouden, zo kan ik bijhouden hoeveel opdrachten er in wachtlijst staan etc.
Ik zou in dit geval eventueel meerdere functies kunnen definieren die telkens specifiek voor 1 type gebouw zijn, maar stel dat ik het zou uitbreiden, moet er toch een mogelijkheid zijn zodat ik niet 100x moet copy-pasten?
Iemand enige raad voor mij?
Mvg,
Aquila
Ik zit met een vrij basis probleem ivm klasses en subklasses, even de situatieschets.
Ik definieer:
1 hoofdklasse Gebouw; 3 Gebouw-subklasses Burcht, Kazerne en Boerderij.
In Gebouw steek ik de gemeenschappelijke atributen, in de subklasses de andere atributen.
Zo een gemeenschappelijk atribuut is bv de int Level. De Burcht moet het level van de andere twee gebouwen en zichzelf kunnen aanpassen. Daarvoor dacht ik binnen Burcht een functie aan te maken als volgt:
Upgrade( Gebouw UpgradeGebouw, int LevelsOmhoog, String^ Tijdstip )
De compiler protesteert nu als ik
Upgrade( Kazerne1, 2, "12:45" )
doorgeef. (cannot convert parameter 1 from 'Layout::Kazerne' to 'Layout::Gebouw')
Ik had gehoopt dat dit wel mogelijk ging zijn, vermits ik binnen de functie enkel aan de Gebouw attributen van Kazerne en aan de Burcht attributen zelf aanpassingen doe.
Ik had de functie ook liefst binnen Burcht gehouden, zo kan ik bijhouden hoeveel opdrachten er in wachtlijst staan etc.
Ik zou in dit geval eventueel meerdere functies kunnen definieren die telkens specifiek voor 1 type gebouw zijn, maar stel dat ik het zou uitbreiden, moet er toch een mogelijkheid zijn zodat ik niet 100x moet copy-pasten?
Iemand enige raad voor mij?
Mvg,
Aquila
