Hello,
J'essaie de coder une classe de Meta Agent, alors normalement c'est un Design Pattern, mais j'ai pas trouvé trop de trucs dessus, juste un article...
Alors c'est une classe qui va hériter de deux autres classes (Héritage multiple qui déjà me fait un peu peur :euh: ) Mais pour corser le tout, les classes sont des templates...
Code:
1
2
3
4
5
6
7
8
9
10 template<typename ModelT, typename BehaviorT> class Agent : public ModelT, BehaviorT { public: // Constructeur Agent<typename ModelT, typename BehaviorT>(Vector3 acceleration, Vector3 velocity, Vector3 position) : ModelT(Vector3 acceleration, Vector3 velocity, Vector3 position) { };
Alors j'essaie de faire marcher le constructeur, mais ça marche pas trop...
Ca ça marche :)Code:sphere1 = new MySphere(Vector3::ZERO, Vector3(0,0,400), Vector3::ZERO); // Par défaut tous les vecteurs sont nuls.
Mais pas ça .... o_O (La struct Circle existe)Code:agent1 = new Agent<MySphere,Circle>(Vector3::ZERO, Vector3(0,0,400), Vector3::ZERO)
Des idées ?