Bonjour, je suis en train de développer un genre de sim city simplifié.
classes: energy->building, RCI->building
Pour stocker les batiments, j'ai créé un vector de vector qui contiennent des références de buildings pour que puisse mettre la classe energy ou RCI dans le meme tableau.
Je peux utiliser les fonctions de building mais pas les fonctions de Energy quand j'insere un Energy dans le vector... Comment puis-je faire pour que l'objet de la classe energy soit considérée comme un energy?
Merci d'avance pour vos réponses !
Main.cpp
energy.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 std::vector<building*> batiments[17]; void listBatiments(); int main() { listBatiments(); return 0; } void listBatiments(){ batiments[0].push_back(new Energy(Energy::power)); batiments[0][0]->setAllProperties(6000, 150, 3,3, "Coal power plant", 17); batiments[0][0]->setState(building::isHud); /** batiments[0][0]->setEnergyDelivered(1000); ça ne marche pas error: 'class building' has no member named 'setEnergyDelivered'| **/ }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 #ifndef ENERGY_H #define ENERGY_H #include <building.h> class Energy : public building { public: enum energyType{water,power,garbage}; Energy(energyType energy); ~Energy(); void setEnergyDelivered(int energyDelivered); int getEnergyDelivered(); private: energyType m_energyType; int m_energyDelivered; }; #endif // ENERGY_H
Partager