Bonjour à tous,
Je n'arrive pas à m'en sortir dans un cas, avec des templates, que j'aimerai avoir des pointeurs super générique dessus.
Je m'explique :aie:
Voici mon code :
J'aimerai pouvoir faire un pointeur de Controler. donc générique au possible. Mais comme ma classe est template, la généricité est stoppée nette une fois un type spécifié (Controler<Type>). Ok, c'est normal.Code:
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
29
30
31
La solution en général, c'est de faire une classe abstraite au dessus. Soit, mais en fait, je ne peux pas faire mieux dans ce sens là (j'hérite déjà cette classe).
Mon problème, c'est que je veux vraiment une fonction virtuelle pure getMove() et que en plus celle-ci me retourne le type Coord qui est sous jacent au plateau.
Est ce qu'il existe une solution et quelle serait-elle ?
(Note, le Listener peut être complêtement éjecté, donc ne nous en préoccupons pas)
En écrivant ce message, j'ai pensé que peut être, le type de retour getMove() et donc la fonction, ne devra être spécifié que dans les classe héritante, mais je souhaite vraiment avoir la fonction en virtuelle pure.
Sinon, peut être passer la fonction en fonction template (donc, que le template soit spécifier à l'appel et non à la création de la classe). Je suis pas sur que cela puisse marcher et surtout que le compilateur ne m'enguirlande pas à faire des fonction templates virtuelle pure :aie: (je vais tester)
EDIT : Bah oui, un template ne peut pas être virtuel ... :aie:

